Booking Mar 10, 2022

Measuring Mobile Apps Performance in Production

Article Summary

Booking.com discovered that standard performance monitoring tools from Apple, Google, and Firebase couldn't meet their needs. So they built their own—and just open-sourced it.

The Booking.com mobile team spent years refining how they measure app performance in production. After finding that third-party tools couldn't integrate with their experimentation platform or provide flexible alerting, they created PerformanceSuite from scratch in Swift and Kotlin.

Key Takeaways

Critical Insight

Booking.com open-sourced their production performance monitoring libraries after proving they catch degradations that standard tools miss.

The article reveals why their Freeze Time metric outperforms both Google's and Apple's rendering metrics in detecting real performance issues.

About This Article

Problem

Booking.com's performance monitoring from 2021 wasn't cutting it. The system couldn't handle experimentation integration, flexible alerting, or custom metrics across iOS and Android.

Solution

The team rebuilt their performance libraries from scratch using Swift and Kotlin. Each library was designed as an independent module with dependencies injected for experimentation, storage, and networking.

Impact

The new PerformanceSuite libraries caught rendering performance issues that Firebase missed. Firebase reported a view rendering time jump from 15ms to 300ms the same way it reported a 15ms to 20ms increase, making it hard to spot real problems. The new system didn't have that blind spot.

Recent from Booking

Related Articles