-
Notifications
You must be signed in to change notification settings - Fork 6
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
Instrument some real world projects #9
Comments
@ethercrow I can try on GHC if you tell me how to emit the right traces. If it doesn't involve a library that would be better or I should be able to copy the library into the GHC tree somehow. The other project it would be useful on would be ghcide but I'll leave that for now.. |
I think these two files should be enough for GHC https://github.com/ethercrow/opentelemetry-haskell/blob/master/opentelemetry/src/OpenTelemetry/Eventlog.hs but you'd have to replace the After you have an eventlog, you can use Maybe |
I instrumented GHC and it seems there is something broken in the zipkin exporter because each event seems to end up in its own trace. Also problems with
I will email you the eventlog. |
"202 Accepted" is fine, I'll fix the status code check. Yeah, I haven't thought of non-threaded runtimes yet, I'll take a look, thanks for the eventlog! |
@mpickering with this change in place it looks better, some traces look meaningful.
|
@ethercrow That is the change I made locally. How did you view that trace? If I search for "serviceName = ghc" then I only see 10 traces but there should probably just be one? |
Perhaps the issue is that there is no span in the log which covers all of the child spans? I will try adding that. EDIT: This fixes the import. Unfortunatey Zipkin does not deal with visualising how many traces there are well, would be better to make the tracing more fine-grained. In fact, I am not sure what I am supposed to discover from looking at the trace, it seems that I can just view it without doing anything meaningful. |
The UX of all these tools is a problem to me as well. Zipkin and Jaeger I don't get at all and Lightstep is I think the most sane, possibly because I've been using it at work for a year. |
@mpickering I just added the |
An attempt to instrument stack is here commercialhaskell/stack#5260 |
I've been working on almost the same thing in GHC itself. The implementation: https://gitlab.haskell.org/broadwaylamb/ghc/-/tree/timetrace-better-metadata The ghc-devs post: https://mail.haskell.org/pipermail/ghc-devs/2020-May/018827.html The difference is that you don't need to compile GHC with I've also modified the Because the feedback on the ghc-devs mailing list showed lack of interest in incorporating this feature in GHC as implemented, I'm not going to continue this effort. Feel free to use my code in your implementation if you want. |
Would be nice to find and fix pain points in the process and build a portfolio of instrumentation examples to point users to.
@mpickering do you have some project in mind?
@mpardalos you might also be interested.
The text was updated successfully, but these errors were encountered: