YoVDO

Argus - Debugging Performance Issues in Modern Desktop Applications with Annotated Causal Tracing

Offered By: USENIX via YouTube

Tags

USENIX Annual Technical Conference Courses Software Development Courses System Administration Courses Desktop Applications Courses

Course Description

Overview

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.

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

Related Courses

1C:Enterprise Junior Developer Course
Moscow Institute of Physics and Technology via Coursera
A Beginner’s Guide to Docker
Packt via FutureLearn
A Beginner’s Guide to Scrum Project Management
Packt via FutureLearn
Google Professional Cloud DevOps Engineer Certification Path Introduction (GCP DevOps Engineer Track Part 1)
A Cloud Guru
Introduction to Amazon CodeGuru
A Cloud Guru