Coinbase Leonardo Zizzamia Aug 26, 2022

Performance Vitals: a unified scoring system to guide performance health and prioritization

Article Summary

Coinbase scaled from a handful of engineers on one platform to four platforms with zero standardized performance measurement. How do you unify performance tracking across web, mobile, backend, and extensions?

Coinbase's engineering team created Performance Vitals, a company-wide scoring system that extends Google's Core Web Vitals across their entire stack. They built custom metrics for React Native and backend services, giving every team a common language for performance.

Key Takeaways

Critical Insight

A unified scoring system (0-100) across frontend and backend lets teams set shared KRs and speak the same performance language from sprint planning to incident response.

The article reveals how they instrument backend vitals to co-locate performance metrics with frontend metadata, plus their approach to Critical User Journey measurement.

About This Article

Problem

Coinbase didn't have enough performance data from React Native and backend services. This made it hard to spot where performance could improve or to prioritize fixes consistently across four different platforms.

Solution

Leonardo Zizzamia's team built on Google Web Vitals best practices and created App Render Complete (ARC) for React Native. They set a 5-second threshold based on Android community research. For the backend, they added metrics like GraphQL Response Time (GRT) with a 500ms cap.

Impact

Teams can now filter by product, platform, and region to catch performance regressions as they happen. They use these metrics to set shared quarterly KRs. For example, the mobile app improved its NTBT score from 70% to 90% good.