-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Runtime event trace visualization #36870
Conversation
May be worth trying to feed this info into Catapult, the tracing UI built into Chrome, so we don't have to write our own. The format is documented here: https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview The Go runtime uses this to visualize scheduling and GC events. Here's an example debugging session: https://about.sourcegraph.com/go/an-introduction-to-go-tool-trace-rhys-hiltner/ |
After some discussions, we decided that this will be reworked on top of #43453 as it will be possible to completely avoid overhead when not interested in tracing (without recompiling). |
For the added probes:
I've also switched to using Hope to get suggestions for additional useful probe points, new/more useful probe parameters or any other changes. Otherwise, this is good to go. |
Produces a JSON file that can be read by Perfetto, allowing for visualization of Julia runtime activity across threads.
And remove taskq get/put probes (that code has moved to Julia).
Also, timestamps should be in us and not ns.
This adds a
bpftrace
script containing handlers for many of the probes in the Julia runtime, and also adds some probes. The various handlers produce JSON output that can be read by Perfetto.Here's what this looks like for parallel Fibonacci with 4 threads:
BUILD INSTRUCTIONS:
Make.user
containingWITH_DTRACE = 1
.TODO:
Cc: @vtjnash, @JeffBezanson