This article is covering how OLX’s mobile engineering team utilise firebase performance SDK for continuous monitoring as well as reducing app launch time, improving rendering as well as to improve overall network API success rate.
Firebase Performance Monitoring is a service that helps you to gain insight into the performance characteristics of your iOS, Android, and web apps.
Performance monitoring is based on traces. A trace is the capture of performance data that occurs between two different points within the execution cycle of an app.
Understanding the Performance Trace
The Performance Monitor enables you to monitor and record performance information for all activity on firebase dashboard. However, times occur when you need to monitor the performance of a specific business flow or the performance issues that are reported by a specific user. In these cases, you can use a performance trace.
The Performance Trace enables you to:
- Automatically measure app startup time, HTTP network requests, and more
- Gain insight into situations where app performance could be improved
- custom 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 create custom metrics on these custom code traces to count events that you define (like cache hits) during those traces.
The collected performance data for each trace are called metrics and vary depending on the type of trace. For example, when an instance of your app issues a network request, the trace collects metrics that are important for network request monitoring, like response time and payload size.
Each time an instance of your app runs a monitored process, the associated trace also automatically collects attributes data for that app instance. For example, if an iOS app issues a network request, the trace collects the device, app version, and other attributes for that specific app instance. You can use these attributes to filter your performance data and learn if specific user segments are experiencing issues.
The struggle is to find the business flows for custom traces. Once identified, putting custom traces are a piece of cake.
In our opinion, adding Firebase Performance SDK helps in monitor and visualise the results in the Firebase Console. For ex: In last 90 days, we were able to reduce app launch time by 11%, critical screen rendering issue to 0.1% from 1.7%.