Performance for Conversion! Use Distributed Tracing to Pinpoint Bottlenecks
summary
Explains why Firebase Performance cannot reliably find root causes and presents using OpenTelemetry with a lightweight Kotlin SDK plus a collector pipeline (receiver → processor → exporter) to connect app spans to backend traces. Shows concrete measurements such as Time to First Frame and full render, splitting network timing into DNS/TCP/SSL phases, and a real example where a 3s full render was traced to a 500ms DNS delay; also discusses head vs tail sampling limits, inability to set trace start time in Firebase, and an app to distinguish user vs system launches.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 2:10Performance for conversion
- 7:50Mobile app metrics
- 10:44Firebase limits
- 16:42Distributed tracing
- 23:04OpenTelemetry tracing
- 28:53Startup time measurement
- 31:01Sending telemetry data
- 33:51OpenTelemetry Collector setup
- 34:59Results and benefits
- 37:50Future work
related talks
32mChasing performance issues methodically
43mPerformance in a Kotlin World
15mFix performance pitfalls and level up your app with Firebase
45mPerformance in a Kotlin world
31mBuilding Consistently Fast Flutter Apps
39mDeep-Diving Android Performance with Perfetto
20mOptimize app health with Firebase Performance Monitoring and Crashlytics
16mHow to monitor errors and performance in Cloud Functions with Open Telemetry
