Client Tracing At Scale
summary
Large app tracing pipeline that links AndroidX.tracing spans and counters to Perfetto UI, a custom Trace SDK that runs in-process and compresses traces to about 130 KB per minute, and a ghost-trace CLI that produces sharable URLs. Production sampling is tiny but yields real P99 cases; local Perfetto captures system-level metrics. Traces get indexed via Perfetto’s SQL model to extract features and latency metrics, fed into automated performance tests (hundreds of iterations, commit-vs-base comparisons) to detect regressions before release.
AI-written summary · about
chapters (17)
- 0:00Introduction to client tracing
- 1:31Performance challenges and rewrite
- 4:39Why tracing matters for performance
- 6:06Android tracing tools overview
- 9:16Bootstrapping tracing with attributed schedulers
- 10:59System stats and state tracking
- 12:47UI metrics and page load framework
- 14:53CLI tooling for developers
- 16:41Scaling tracing in production
- 18:47Trace SDK for production tracing
- 22:45Making sense of collected traces
- 24:51Querying traces with SQL
- 26:59Trace dashboards and indexing
- 28:25Automating performance testing
- 31:18Tracking metrics over time
- 32:43Key takeaways and conclusion
- 33:46Q&A
related talks
13mPerfetto Your App for Perfect Performance
40mDebugging Android Performance at Scale: Lessons from Building Datadog's Mobile Profiler
39mDeep-Diving Android Performance with Perfetto
38mA Busy Android App Developers' Guide to Perfetto
27mIntroducing the Mobile PerfSDK
41mA Practical Perfetto Introduction for AOSP and Linux Developers
44mPAPA: Performance of Android Production Applications
35mIn Search of Performance: the Subtle Art of Android Profiling
