Firebase Performance Monitoring
Gain insight into your app's performance issues.
Firebase Performance Monitoring is a service that helps you to gain insight into theperformance characteristics of your Apple, Android, and web apps.You use thePerformance Monitoring SDK to collect performance data from your app, thenreview and analyze that data in theFirebase console.Performance Monitoring helps youto understand in real time where the performance of your app can be improved sothat you can use that information to fix performance issues.
Ready to get started? Choose your platform:
Key capabilities
| Automatically measure app startup time, HTTP network requests, and more | When you integrate thePerformance Monitoring SDK into your app, you don't need to write any code before your app starts automatically monitoring several critical aspects of performance. For native apps, the SDK logs startup time, rendering data by screen, and activity while in the foreground or background. For web apps, the SDK logs aspects like first contentful paint, ability for users to interact with your app, and more. |
| Gain insight into situations where app performance could be improved | Optimizing the performance of your app can be challenging when you don't know exactly why it is falling short of user expectations. That's whyPerformance Monitoring lets you see performance metrics broken down byattributes, like country, device, app version, and OS level. |
| Customize monitoring for your app | You can instrumentcustom code traces to capture your app's performance in specific situations, like when you load a new screen or display a new interactive feature. And, you can createcustom metrics on these custom code traces to count events that you define (like cache hits) during those traces. |
| Identify significant changes in app performance | Identifying and resolving major app performance issues, like network outages, is vital to the success of your app. Performance Monitoring lets youset up and customize alerts for the most critical parts of your app so you can see and respond to performance pitfalls – before they affect your users. |
How does it work?
When you add thePerformance Monitoring SDK, Firebaseautomatically starts collectingdata for several common processes in your app, for example:
Performance Monitoring usestraces to collect data about these processes. A trace isa report that contains data captured between two points in time in your app.
The collected performance data for each trace are calledmetrics and varydepending on the type of trace. For example, when an instance of your app issuesa network request, the trace collects metrics that are important for networkrequest monitoring, like response time and payload size.
Each time an instance of your app runs a monitored process, the associated tracealso automatically collectsattributes data for that app instance. Forexample, if an Android app issues a network request, the trace collects thedevice, app version, and other attributes for that specific app instance. Youcan use these attributes to filter your performance data and learn if specificuser segments are experiencing issues.
The out-of-the-box traces fromPerformance Monitoring get you started with monitoring yourapp, but to learn about the performance of specific tasks or flows, try outinstrumenting your own custom traces of codein your app.
Implementation path
| Add thePerformance Monitoring SDK to your app | You can add thePerformance Monitoring SDK to your app, along with any other Firebase products that you want to use in your app. Apple platforms |Android |Web |Flutter | |
| (Optional) Instrument custom code traces and custom metrics in your app | Using thePerformance Monitoring SDK, you can instrumentcustom code traces and custom metrics to measure specific aspects of your app's performance. | |
| Monitor performance data in the console in real time | In theFirebase console, you can monitor performance data from your users to learn the specific situations where your app's performance could be improved. You can also break down the performance data byattributes, like app version, country, device, or OS. |
User data
Performance Monitoring does not permanently store any personally identifiableinformation (such as names, email addresses, or phone numbers). While monitoringHTTP network requests,Performance Monitoring uses URLs (not including URL parameters)to build aggregated and anonymous URL patterns that are eventually persistedand shown in theFirebase console.
For more details, refer to theExamples of information collected byPerformance Monitoring.
Next steps
To get started usingPerformance Monitoring in your app, visit:
To learn about setting up alerts, seeSet up alerts for performance issues.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-11-25 UTC.