-
Notifications
You must be signed in to change notification settings - Fork 14.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Include DTrace probes #2191
Comments
I am OK with it, as long as it is not tied to DTrace. I would like to be able to use StatsD with the probes. Probably make it just fire events an people can hook up their tracer if choice to it. |
something like this: https://github.com/koajs/trace |
@jonathanong pretty much exactly that :D |
It's a good idea. I don't see how koajs/trace chooses the tracer you want to use. Just to confirm, after app.instrument(function myHandler() {
... do whatever I want, e.g. fire a dtrace probe
}) |
would be great to have |
Hello there, I'm interested in contributing to Express. From what I understand of your discussion, providing a tracing feature to Express consist in porting the koa trace module to Express. The module code doesn't look big. So it's probably something I will have time to handle. Is it still a feature you are interested in? Do you think I can handle it while being new at Express contributing? |
Yes, 100% :)
I don't see why not :) Especially if you're open to feedback on a potential PR. |
Ok so how do you recommend to develop it: should I make a separate module like the koa one or should I contribute directly to the Express platform? |
There is always the potential of an additional module, but right now, there is no way to hook into what is happening inside Express, so providing a general hook into the operations of the internals is the first step to be done :) |
Doesn't |
Yep, should we include that in your debugging mode? |
Here is how I see things. I would like to be sure I'm correct before going further. Goal The main goal is to allow to trace the response life-cycle. Basically, the job of the http server is to build and return a response from a given request and eventually run external operation. The server itself is already "traced" through your debug mode as @Fishrock123 mention it. Implementation Usage example (port of the Koa example) What do you think about adding a Listeners could be called with the same signature as in Koa-trace by just replacing |
This tracing stuff needs to be always enabled and not require an environment variable to be set.
It does, but there is the possibility people can alter those values. I would replace |
Thank you @dougwilson for the feedback. I will work on it this week. |
No problem! This would be a lovely contribution :) |
I published a module similar to koa-trace. We can work on it to match the needs of this issue and identify if some extra work is needed in the internal of express. I would be glad to have your feedback to improve this module: |
I'm going to close this issue as generally stale, due to the age and lack of continued conversation. I see this was even a module published, which us great! If that is not the actual end solution and it is desired, this can be reopened for further discussion of course. It's been open, but hasn't materialized any sort of code contribution so far, so I'm not sure it needs to remain open indefinitely. |
It would be interesting to include a DTrace provider and some probes to express, in a similar way as it is already implemented in other frameworks such as resitfy:
Express users could take advantage of these probes in DTrace-enabled operating systems (OSX, Solaris, SmartOS, Oracle Linux, BSD...).
Are you open to contributions in this line?
The text was updated successfully, but these errors were encountered: