Comience con la supervisión del rendimiento para Android

Antes de que empieces

Si aún no lo has hecho, agrega Firebase a tu proyecto de Android .

Paso 1 : agregue el SDK de monitoreo de rendimiento a su aplicación

Después de agregar el SDK de Performance Monitoring, Firebase comienza automáticamente a recopilar datos para la representación de la pantalla de tu aplicación y datos relacionados con el ciclo de vida de tu aplicación (como la hora de inicio de la aplicación ). Para permitir que Firebase monitoree las solicitudes de red, también debe agregar el complemento Performance Monitoring Gradle (siguiente paso).

  1. En el archivo Gradle de su módulo (nivel de aplicación) (generalmente <project>/<app-module>/build.gradle.kts o <project>/<app-module>/build.gradle ), agregue la dependencia para Performance Monitoring biblioteca para Android. Recomendamos utilizar Firebase Android BoM para controlar el control de versiones de la biblioteca.

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:32.7.3"))
    
        // 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")
    }
    

    Al usar Firebase Android BoM , su aplicación siempre usará versiones compatibles de las bibliotecas de Firebase Android.

    (Alternativa) Agregue dependencias de la biblioteca de Firebase sin usar la BoM

    Si elige no utilizar la BoM de Firebase, debe especificar cada versión de la biblioteca de Firebase en su línea de dependencia.

    Tenga en cuenta que si usa varias bibliotecas de Firebase en su aplicación, le recomendamos encarecidamente usar la BoM para administrar las versiones de la biblioteca, lo que garantiza 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:20.5.2")
    }
    
    ¿Busca un módulo de biblioteca específico de Kotlin? A partir de octubre de 2023 (Firebase BoM 32.5.0) , tanto los desarrolladores de Kotlin como los de Java podrán depender del módulo de biblioteca principal (para más detalles, consulte las preguntas frecuentes sobre esta iniciativa ).

  2. Vuelva a compilar su aplicación.

Paso 2 : agregue el complemento Performance Monitoring Gradle a su aplicación

Después de agregar el complemento Performance Monitoring Gradle, Firebase comienza automáticamente a recopilar datos para las solicitudes de red HTTP/S . El complemento también le permite instrumentar seguimientos de código personalizados utilizando la anotación @AddTrace .

  1. En su archivo Gradle de nivel raíz (nivel de proyecto) ( <project>/build.gradle.kts o <project>/build.gradle ), agregue el complemento Performance Monitoring Gradle:

    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.1" 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.1' apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf' version '1.4.2' apply false
    }
    
  2. En el archivo Gradle de su módulo (nivel de aplicación) (generalmente <project>/<app-module>/build.gradle.kts o <project>/<app-module>/build.gradle ), agregue el complemento Performance Monitoring Gradle:

    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'
        ...
    }
    
  3. Vuelva a compilar su aplicación.

Paso 3 : generar eventos de rendimiento para la visualización de datos iniciales

Firebase comienza a procesar los eventos cuando agrega correctamente el SDK a su aplicación. Si todavía estás desarrollando localmente, interactúa con tu aplicación para generar eventos para la recopilación y el procesamiento de datos iniciales.

  1. Genere eventos cambiando su aplicación entre fondo y primer plano varias veces, interactuando con su aplicación navegando entre pantallas y/o activando solicitudes de red.

  2. Vaya al panel de rendimiento de Firebase console. Deberías ver tus datos iniciales en unos minutos.

    Si no ve una visualización de sus datos iniciales, revise los consejos para la solución de problemas .

Paso 4 : (Opcional) Ver mensajes de registro para eventos de rendimiento

  1. Habilite el registro de depuración para la supervisión del rendimiento en el momento de la compilación agregando un elemento <meta-data> al archivo AndroidManifest.xml de su aplicación, así:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
    
  2. Revise sus mensajes de registro para ver si hay mensajes de error.

  3. Performance Monitoring etiqueta sus mensajes de registro con FirebasePerformance . Al utilizar el filtrado logcat, puede ver específicamente el seguimiento de la duración y el registro de solicitudes de red HTTP/S ejecutando el siguiente comando:

    adb logcat -s FirebasePerformance
  4. Compruebe 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
  5. Haga clic en la URL para ver sus datos en Firebase console. Es posible que los datos tarden unos momentos en actualizarse en el panel.

Si su aplicación no registra eventos de rendimiento, revise las sugerencias para la solución de problemas .

Paso 5 : (Opcional) Agregue monitoreo personalizado para código específico

Para monitorear los datos de rendimiento asociados con un código específico en su aplicación, puede instrumentar seguimientos de código personalizados .

Con un seguimiento de código personalizado, puede medir cuánto tiempo le toma a su aplicación completar una tarea específica o un conjunto de tareas, como cargar un conjunto de imágenes o consultar su base de datos. La métrica predeterminada para un seguimiento de código personalizado es su duración, pero también puede agregar métricas personalizadas, como aciertos de caché y advertencias de memoria.

En su código, usted define el principio y el final de un seguimiento de código personalizado (y agrega las métricas personalizadas que desee) utilizando la API proporcionada por el SDK de Performance Monitoring. Para aplicaciones de Android, también puede monitorear la duración de métodos específicos usando la anotación @AddTrace .

Visite Agregar monitoreo para obtener código específico y obtener más información sobre estas funciones y cómo agregarlas a su aplicación.

Paso 6 : implemente su aplicación y luego revise los resultados

Después de haber validado la supervisión del rendimiento mediante uno o más dispositivos de prueba, puede implementar la versión actualizada de su aplicación para sus usuarios.

Puede monitorear los datos de rendimiento en el panel de rendimiento de Firebase console.

Problemas conocidos

  • El complemento Performance Monitoring Gradle v1.1.0 puede causar una discrepancia 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 ve este error, puede:

    • Actualice el complemento Performance Monitoring a la versión 1.1.1 o posterior (la más reciente es la v1.4.2).

    • Reemplace la línea de dependencia del complemento Performance Monitoring en su archivo Gradle de nivel 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 en función del valor establecido en el encabezado de longitud del contenido HTTP. Es posible que este valor no siempre sea exacto.

  • Performance Monitoring solo admite el proceso principal en aplicaciones de Android multiproceso.

Próximos pasos