Overview
Syllabus
Intro
Existing tools for diagnosing desktop apps
Desktop app diagnosis is under-investigated
An example of existing causal tracing
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 space
Where are the inaccuracies from? *Over-connections unnecessary searching paths
Why the inaccuracies happen to the desktop apps?
Key insights
Argus workflow
Annotated tracing graphs
Causal search: beam search based
Sub-graph comparison
diagnosis effectiveness
diagnosis cost Time cost of Argus on diagnosing the 12 real world performance issues Graph diagnosis Graph construction
tracing overhead
Conclusions
Related work
Taught by
USENIX