Integrate Firebase Performance Monitoring in Your App
- Add the Firebase Performance Monitoring SDK to your `build.gradle` file. Ensure you include the necessary dependencies to enable performance monitoring features.
implementation 'com.google.firebase:firebase-perf:20.0.4'
implementation 'com.google.firebase:firebase-core:21.0.1'
- Initialize Firebase in your `Application` class if not already done. Firebase SDKs are typically initialized in the onCreate() method of the Application class.
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
FirebaseApp.initializeApp(this)
}
}
Enable and Customize Performance Monitoring
- Enable performance monitoring from the Firebase console if it’s currently disabled. This option is available in the Performance Monitoring dashboard.
- Adjust settings by adding custom attributes or detailed traces as needed. These customizations allow you to monitor specific operations beyond default traces and network requests.
Implementing Custom Traces
- Create custom traces to monitor specific sections of your code. Begin with `startTrace()` and finish with `stopTrace()` to measure performance accurately.
val trace = FirebasePerformance.getInstance().newTrace("custom_trace_name")
trace.start()
// Code to monitor
someFunction()
trace.stop()
- Optionally, add custom attributes to your traces to categorize and filter them effectively in the Firebase console.
trace.putAttribute("user_level", "beginner")
Monitoring Network Performance
- Firebase Performance Monitoring automatically tracks HTTP/S network requests, but you can enhance monitoring by using custom URL request manipulation if needed.
- If using OkHttp, integrate Firebase Performance Monitoring with OkHttp to capture detailed HTTP metrics.
val client = OkHttpClient.Builder()
.addInterceptor(FirebasePerformanceInterceptor())
.build()
View and Analyze Performance Data
- Navigate to the Firebase console and select Performance Monitoring. Access the dashboard to view real-time and historical data, understand trends, detect anomalies, and optimize application performance.
- Utilize the dashboard filters to drill down into specific traces or network requests that are crucial for your application's performance.
Optimize Performance
- Based on analysis, identify areas in your app that require optimization. Refactor or make necessary changes to enhance performance.
- Continuously monitor performance metrics as you update your application to ensure no degradation in performance over time.