ddprof
ddprof copied to clipboard
Add crash tracking to profiler
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.
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 |
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 |