Profilo: Understanding App Performance in the Wild
Article Summary
Meta's engineers were spending days or months debugging performance issues they couldn't reproduce in their device labs. Sound familiar?
Meta open-sourced Profilo, a production performance tracing library that captures what's actually happening on real user devices. It's designed to solve the gap between lab testing and wild user experiences on Android and iOS.
Key Takeaways
- Captures 3,000+ events per second with minimal performance impact on users
- Custom Java stack unwinder bypasses official APIs for more accurate traces
- Cold startup investigations dropped from days to under one hour
- Remote configuration lets engineers adjust tracing for specific devices in production
- Aggregates CPU traces, garbage collection, and frame data into unified view
Critical Insight
Profilo reduced performance investigation time from days to under an hour by enabling accurate profiling in production environments.