iOS Observability & Performance Metrics
summary
Implements end-to-end mobile observability using OpenTelemetry Swift to export traces, metrics and logs to Prometheus/Elasticsearch and visualizes them in Grafana and Kibana; extracts screen performance with the perfu iOS library and MetricKit, measuring Time to First Render and Time to Interactive, freeze count/duration (16 ms frame budget) and a composite Page Performance Score. Finds a 200,000,000 ms outlier caused by prewarm launches, fixes it by reading active_prewarm in a custom main early in startup, instruments 2s leak checks, and symbolicates stack traces with dSYM.
AI-written summary · about
chapters (15)
- 0:00Introduction to observability
- 1:28What is observability
- 2:51OpenTelemetry standards
- 6:06Mobile app metrics research
- 7:11Time to first render explained
- 8:12Grafana dashboard setup
- 9:39Startup time measurement
- 10:43Startup performance analysis
- 12:06Screen memory leak detection
- 13:11Rendering performance metrics
- 15:20Monitoring app hangs
- 16:46Page performance score
- 19:22Setting thresholds and alerts
- 20:46Future observability plans
- 21:06Q&A session
related talks
47mTools for Monitoring iOS App Performance
20mHow is your app actually doing in production
28mMobile Application Performance Done The Right Way
27mBuilding Observability into Your iOS App Platform
18mWhat is your app actually doing in production?
42mTuning your app using Xcode's Instruments
41mUsing MetricKit to measure app performance and stability
37mPerformance Monitoring- 0 to 60 in 40 Minutes
