-
Notifications
You must be signed in to change notification settings - Fork 375
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
[PROF-3944] Change profiler to gather "local root span id" from active traces instead of "trace id" #1688
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1688 +/- ##
=======================================
Coverage 98.17% 98.18%
=======================================
Files 934 934
Lines 45092 45122 +30
=======================================
+ Hits 44271 44301 +30
Misses 821 821
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please hold off on merging this one just yet; I don't necessarily object to the changes, but wanted to reconcile them with something else I had pending first.
cef2d74
to
5d18d2e
Compare
This method allows getting both the current span, as well as the root span with atomic semantics, to avoid data races.
…e traces instead of "trace id" The `trace id` that we gather today is not useful, because the backend ends up using the `runtime-id` and `span id` to get all information it needs. Gathering instead the `local root span id` will enable the profiler backend to optimize scoping profiles in the UX down to a single request (all spans that share the same local root span id).
Otherwise the previous benchmark dump was innacurate, since the resulting pprof no longer cared for the trace id that it included. I've renamed the benchmark to "profiler_submission_v2" to mark the change to the input data -- I've measured the performance of the benchmark to stay similar, but not the same [within ~10%], so it's relevant to mark this change.
5d1035a
to
76414a5
Compare
Thanks Marco! I had to do one final rebase to fix a trivial conflict with #1718 , merging away now! |
The
trace id
that we gather today is not useful, because the backend ends up using theruntime-id
andspan id
to get all information it needs.Gathering instead the
local root span id
will enable the profiler backend to optimize scoping profiles in the UX down to a single request (all spans that share the same local root span id).I've tested this both locally and on the reliability environment.