ddprof icon indicating copy to clipboard operation
ddprof copied to clipboard

Add crash tracking to profiler

Open nsavoire opened this issue 1 year ago • 2 comments

What does this PR do?

Add crash tracker and reporter to ddprof.

Crash tracker installs signal handlers to catch crashes in the profiler. Upon crash, it forks and execs another instance of ddprof passing it --report-crash argument as well as crashed thread tid as --pid and then waits for this other process to finish before re-raising the signal.

Other ddprof process does a ptrace attach on its parent, unwind crashed thread and reports the crash through libdatadog crash tracker.

nsavoire avatar May 29 '24 13:05 nsavoire

Benchmark results for collatz

Parameters

Baseline Candidate
config baseline candidate
profiler-version ddprof 0.17.1+8518e4fe.34733158 ddprof 0.17.1+cd0d3df9.35395387

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 May 29 '24 19:05 pr-commenter[bot]

Benchmark results for BadBoggleSolver_run

Parameters

Baseline Candidate
config baseline candidate
profiler-version ddprof 0.17.1+8518e4fe.34733158 ddprof 0.17.1+cd0d3df9.35395387

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 same

pr-commenter[bot] avatar May 29 '24 19:05 pr-commenter[bot]