ddprof icon indicating copy to clipboard operation
ddprof copied to clipboard

Otel allocation profiling POC

Open nsavoire opened this issue 1 year ago • 7 comments
trafficstars

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

nsavoire avatar Aug 27 '24 12:08 nsavoire

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

pr-commenter[bot] avatar Aug 27 '24 12:08 pr-commenter[bot]

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%]

pr-commenter[bot] avatar Aug 27 '24 12:08 pr-commenter[bot]

[ 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)

r1viollet avatar Aug 27 '24 12:08 r1viollet

[ 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.

nsavoire avatar Aug 27 '24 13:08 nsavoire

I'm not sure if the crash is reproducible and a product of the PR (relaunching the CI)

r1viollet avatar Aug 27 '24 20:08 r1viollet

I agree on the TODO about a better description :smile:

r1viollet avatar Aug 27 '24 20:08 r1viollet

@nsavoire do you mind moving this to draft if we do not plan on merging soon ?

r1viollet avatar Jan 07 '25 13:01 r1viollet