Antes de comenzar
Si aún no lo has hecho, agrega Firebase a tu proyecto de Android.
Paso 1: Agrega el SDK de Performance Monitoring a tu app
Una vez que agregues el SDK de Performance Monitoring, Firebase comenzará a recopilar datos de forma automática para la renderización de pantalla y los datos relacionados con el ciclo de vida de la app (como la hora de inicio de la app). Para permitir que Firebase supervise las solicitudes de red, también debes agregar el complemento de Gradle de Performance Monitoring (próximo paso).
En el archivo Gradle del módulo (nivel de la app) (generalmente
<project>/<app-module>/build.gradle.kts
o<project>/<app-module>/build.gradle
), agrega la dependencia de la biblioteca de Performance Monitoring para Android. Te recomendamos usar Firebase Android BoM para controlar las versiones de las bibliotecas.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.7.0")) // Add the dependency for the Performance Monitoring library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-perf") }
Cuando usas Firebase Android BoM, tu app siempre usará versiones compatibles de las bibliotecas de Firebase para Android.
(Alternativa) Agrega dependencias de la biblioteca de Firebase sin usar la BoM
Si eliges no usar la Firebase BoM, debes especificar cada versión de la biblioteca de Firebase en su línea de dependencia.
Ten en cuenta que, si usas múltiples bibliotecas de Firebase en tu app, es muy recomendable que uses la BoM para administrar las versiones de las bibliotecas para garantizar que todas las versiones sean compatibles.
dependencies { // Add the dependency for the Performance Monitoring library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-perf:21.0.3") }
Vuelve a compilar la app.
Paso 2: Agrega el complemento de Gradle de Performance Monitoring a tu app
Después de agregar el complemento de Gradle de Performance Monitoring, Firebase comienza a recopilar automáticamente los datos de solicitudes de red HTTP/S. El complemento también te permite instrumentar el seguimiento de código personalizado con la anotación @AddTrace.
En el archivo Gradle de nivel de raíz (nivel de proyecto) (
<project>/build.gradle.kts
o<project>/build.gradle
), agrega el Complemento de Gradle de Performance Monitoring:Kotlin
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "1.4.2" apply false }
Groovy
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '1.4.2' apply false }
En el archivo de Gradle (generalmente
<project>/<app-module>/build.gradle.kts
o<project>/<app-module>/build.gradle
) del módulo (nivel de app), agrega el complemento de Gradle de Performance Monitoring:Kotlin
plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") ... }
Groovy
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' ... }
Vuelve a compilar la app.
Paso 3: Genera eventos de rendimiento para obtener una visualización inicial de los datos
Firebase comienza a procesar los eventos cuando agregas correctamente el SDK a tu app. Si aún estás desarrollando de manera local, interactúa con la app a fin de generar eventos para la recopilación y el procesamiento iniciales de los datos.
Puedes generar eventos si alternas varias veces la ejecución de la app entre el primer y segundo plano, interactúas con la app mediante la navegación por las pantallas o activas solicitudes de red.
Ve al panel Rendimiento de Firebase console. Deberías ver tus datos iniciales en pocos minutos.
Si no ves los datos iniciales, revisa las sugerencias para solucionar problemas.
Paso 4: Revisa los mensajes de registro de los eventos de rendimiento (opcional)
Agrega un elemento
<meta-data>
al archivoAndroidManifest.xml
de la app para habilitar el registro de depuración de Performance Monitoring en el tiempo de compilación, como en el siguiente ejemplo:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
Revisa si hay mensajes de error en los mensajes de registro.
Performance Monitoring etiqueta sus mensajes de registro con
FirebasePerformance
. Con el filtro de logcat, puedes ver de forma específica el seguimiento de duración y el registro de solicitudes de red HTTP/S mediante la ejecución del siguiente comando:adb logcat -s FirebasePerformance
Verifica los siguientes tipos de registros que indican que Performance Monitoring está registrando eventos de rendimiento:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
Haz clic en la URL para ver tus datos en Firebase console. Los datos pueden tardar unos minutos en actualizarse en el panel.
Si tu app no registra eventos de rendimiento, revisa las sugerencias para solucionar problemas.
Paso 5: Agrega supervisión personalizada para código específico (opcional)
Para supervisar los datos de rendimiento asociados con una parte específica del código de tu app, puedes instrumentar el seguimiento de código personalizado.
Con un seguimiento de código personalizado, puedes medir cuánto tiempo tarda la app en completar una tarea o un conjunto de tareas en específico, como cargar un conjunto de imágenes o consultar la base de datos. La métrica predeterminada de un seguimiento de código personalizado es su duración, pero también puedes agregar métricas personalizadas, como aciertos de caché y advertencias de memoria.
En el código, tú defines el inicio y el final de un seguimiento de código personalizado (y agregas cualquier métrica personalizada que desees) con la API que proporciona el SDK de Performance Monitoring. En las apps para Android, también puedes supervisar la duración de métodos específicos con la anotación @AddTrace.
Consulta cómo agregar supervisión para código específico si necesitas más información sobre estas funciones y cómo agregarlas a tu app.
Paso 6: Implementa tu app y revisa los resultados
Después de validar Performance Monitoring con uno o más dispositivos de prueba, puedes implementar la versión actualizada de tu app en tus usuarios.
Puedes supervisar los datos de rendimiento en el panel Rendimiento de Firebase console.
Problemas conocidos
La versión 1.1.0 del complemento de Gradle de Performance Monitoring puede causar un desajuste en las dependencias de Guava, lo que genera el siguiente error:
Error:Execution failed for task ':app:packageInstantRunResourcesDebug'. > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
Si ves este error, tienes las siguientes alternativas:
Actualiza el complemento de Performance Monitoring a la versión 1.1.1 o una posterior (la más reciente es la versión 1.4.2).
Reemplaza la línea de dependencia del complemento de Performance Monitoring en tu Archivo Gradle de nivel de raíz (nivel de proyecto) (
<project>/build.gradle.kts
o<project>/build.gradle
), de la siguiente manera:Kotlin
buildscript { // ... dependencies { // ... // Replace the standard Performance Monitoring plugin dependency line, as follows: classpath("com.google.firebase:perf-plugin:1.1.0") { exclude(group = "com.google.guava", module = "guava-jdk5") } } }
Groovy
buildscript { // ... dependencies { // ... // Replace the standard Performance Monitoring plugin dependency line, as follows: classpath('com.google.firebase:perf-plugin:1.1.0') { exclude group: 'com.google.guava', module: 'guava-jdk5' } } }
Performance Monitoring informa el tamaño total de la carga útil para las solicitudes de red HTTP según el valor configurado en el encabezado de longitud de contenido de HTTP. Es posible que este valor no siempre sea exacto.
Performance Monitoring solo admite el proceso principal en las apps para Android de varios procesos.
Próximos pasos
Revisa y ejecuta la muestra de código de Performance Monitoring para Android en GitHub.
Obtén más información sobre los datos que Performance Monitoring recopila automáticamente:
- Datos relacionados con el ciclo de vida de tu app, como su hora de inicio
- Datos para el procesamiento de pantalla de tu app
- Datos para las solicitudes de red HTTP/S que emite tu app
Consulta, supervisa y filtra tus datos de rendimiento en Firebase console.
Instrumenta el seguimiento de código personalizado para agregar la supervisión de tareas o flujos de trabajo específicos en la app.