Relational Debugging --- Pinpointing Root Causes of Performance Problems
summary
Introduces relations as distributions linking pairs of runtime events and uses causal dependency traversal to pinpoint changes between one good and one bad execution, building a practical tool called Perspect that operates directly on x86 binaries. Perspect outputs ranked relation candidates, narrows references along dependency edges, diagnoses 10 of 12 real-world performance issues across Go runtime MongoDB Redis Coreutils, confirms root causes for two open bugs, speeds debugging by 10.87× and runs in about 8 minutes on average.
AI-written summary · about
chapters (8)
- 0:00Performance debugging challenges
- 3:00Why tools fail on bugs
- 4:03Relational debugging concept
- 5:53Narrowing root causes
- 8:00Diagnosing Go 909 bug
- 10:10Perspective's relational debugging
- 12:40Evaluation results and study
- 13:41Related work and conclusion
related talks
01h 04mDebugging data races
20mZeno: Diagnosing Performance Problems with Temporal Provenance
51mNavigating Distributed Traces
38mTechniques and Tools for a Coherent Discussion about Performance in Complex...
22mDebugging and Observability for Distributed Ray Applications
46mHow Cheap Learning (not deep learning) Finds Faults in Distributed Systems
41mFinding the Needle in the Haystack or Troubleshooting Distributed Systems
15mCollie: Finding Performance Anomalies in RDMA Subsystems
