Existing causal tracing fails to diagnose desktop apps * It is hard to identify accurate execution segment boundaries in some threads Some execution segments have multiple incoming edges large search…
6
Where are the inaccuracies from? *Over-connections unnecessary searching paths
7
Why the inaccuracies happen to the desktop apps?
8
Key insights
9
Argus workflow
10
Annotated tracing graphs
11
Causal search: beam search based
12
Sub-graph comparison
13
diagnosis effectiveness
14
diagnosis cost Time cost of Argus on diagnosing the 12 real world performance issues Graph diagnosis Graph construction
15
tracing overhead
16
Conclusions
17
Related work
Description:
Explore debugging techniques for performance issues in modern desktop applications through this USENIX ATC '21 conference talk. Dive into Argus, a novel causal tracing tool designed to overcome the limitations of existing methods when applied to desktop environments. Learn about strong and weak edges for modeling trace graph ambiguities, a beam-search-based diagnosis algorithm for selecting likely causal paths, and a new approach to comparing causal paths across normal and abnormal executions. Discover how Argus successfully diagnosed root causes for 12 infamous spinning pinwheel issues in popular macOS applications, including 10 previously unknown problems. Gain insights into the tool's implementation across multiple macOS versions and its low CPU overhead, making always-on tracing feasible. Understand the challenges of diagnosing desktop application performance, the shortcomings of existing causal tracing techniques, and the innovative solutions proposed by Argus to address these issues effectively.
Read more
Argus - Debugging Performance Issues in Modern Desktop Applications with Annotated Causal Tracing