[PROF-15045] Profling: Omit local root span id in reported profiles - #6120
[PROF-15045] Profling: Omit local root span id in reported profiles#6120ivoanjo wants to merge 1 commit into
Conversation
**What does this PR do?**
This PR uses the new libdatadog setting
`ddog_prof_Profile_set_omit_local_root_span_id_when_serializing` to
omit the "local root span id" label in profiles.
**Motivation:**
The backend no longer uses this label, so we're experimenting
with phasing it out.
**Additional Notes:**
I'm opening this as a draft until we make a decision if we want
to ship it or not; the change is otherwise ready and working.
**How to test the change?**
I've updated the tests to match this new world. I've also manually
reported profiles to staging and could spot no issues in the
trace-to-profile integration (which is the feature that in the
past required this information to work).
Here's my tiny test app:
```ruby
require "datadog"
def burn_cpu_for_n_millis(n)
limit = Process.clock_gettime(Process::CLOCK_MONOTONIC, :nanosecond) + n * 1_000_000
while Process.clock_gettime(Process::CLOCK_MONOTONIC, :nanosecond) < limit
# Do nothing
end
end
Datadog::Tracing.trace("GET /foo", type: "web") do
burn_cpu_for_n_millis(50)
Datadog::Tracing.trace("child") do
burn_cpu_for_n_millis(50)
end
end
sleep 1
```
|
BenchmarksBenchmark execution time: 2026-07-29 07:30:26 Comparing candidate commit aabe512 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 48 metrics, 1 unstable metrics.
|
What does this PR do?
This PR uses the new libdatadog setting
ddog_prof_Profile_set_omit_local_root_span_id_when_serializingto omit the "local root span id" label in profiles.Motivation:
The backend no longer uses this label, so we're experimenting with phasing it out.
Change log entry
None. (This is not a user-visible change)
Additional Notes:
I'm opening this as a draft until we make a decision if we want to ship it or not; the change is otherwise ready and working.
How to test the change?
I've updated the tests to match this new world. I've also manually reported profiles to staging and could spot no issues in the trace-to-profile integration (which is the feature that in the past required this information to work).
Here's my tiny test app: