ddprof
ddprof copied to clipboard
Otel allocation profiling POC
What does this PR do?
Make libdd_profiling.so compatible for use with otel profiler by creating a new mode that does not start ddprof and adding a USDT probe inside sampling path.
(TODO) better description
Benchmark results for collatz
Parameters
| Baseline | Candidate | |
|---|---|---|
| config | baseline | candidate |
| profiler-version | ddprof 0.18.0+5849ebfa.39514389 | ddprof 0.18.0+39546354.42964150 |
Summary
Found 0 performance improvements and 0 performance regressions! Performance is the same for 1 metrics, 0 unstable metrics.
See unchanged results
| scenario | Δ mean execution_time |
|---|---|
| scenario:ddprof -S bench-collatz --preset cpu_only collatz_runner.sh | same |
Benchmark results for BadBoggleSolver_run
Parameters
| Baseline | Candidate | |
|---|---|---|
| config | baseline | candidate |
| profiler-version | ddprof 0.18.0+5849ebfa.39514389 | ddprof 0.18.0+39546354.42964150 |
Summary
Found 0 performance improvements and 0 performance regressions! Performance is the same for 1 metrics, 0 unstable metrics.
See unchanged results
| scenario | Δ mean execution_time |
|---|---|
| scenario:ddprof -S bench-bad-boggle-solver BadBoggleSolver_run work 1000 | unsure [+1.363ms; +15.533ms] or [+0.056%; +0.642%] |
[ RUN ] allocation_tracker.start_stop
/go/src/github.com/DataDog/apm-reliability/ddprof-build/ddprof/test/allocation_tracker-ut.cc:141: Failure
Expected: (sample->dyn_size_stack) < (hdr->size - sizeof_allocation_event(0)), actual: 18088 vs 18088
[ FAILED ] allocation_tracker.start_stop (323 ms)
[ RUN ] allocation_tracker.start_stop /go/src/github.com/DataDog/apm-reliability/ddprof-build/ddprof/test/allocation_tracker-ut.cc:141: Failure Expected: (sample->dyn_size_stack) < (hdr->size - sizeof_allocation_event(0)), actual: 18088 vs 18088 [ FAILED ] allocation_tracker.start_stop (323 ms)
Just saw that, USDT probe seems to have a big impact on stack size in sanitized mode.
I'm not sure if the crash is reproducible and a product of the PR (relaunching the CI)
I agree on the TODO about a better description :smile:
@nsavoire do you mind moving this to draft if we do not plan on merging soon ?