Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Primeros pasos con Performance Monitoring para Android

Antes de comenzar

Si aún no lo has hecho, agrega Firebase al 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 el procesamiento 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 (paso siguiente).

  1. Usa la BoM de Firebase para Android a fin de declarar la dependencia de la biblioteca de Android para Performance Monitoring en el archivo Gradle (generalmente app/build.gradle) de tu módulo (nivel de app).

    Java

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

    Si usas la BoM de Firebase para Android, tu app siempre utilizará versiones compatibles de las bibliotecas de Firebase para Android.

    Como alternativa, puedes declarar las dependencias de la biblioteca de Firebase sin usar la BoM.

    Si eliges no usar la BoM de Firebase, debes especificar cada versión de la biblioteca de Firebase en su línea de dependencia.

    Ten en cuenta que, si usas varias bibliotecas de Firebase en tu app, te recomendamos enfáticamente que utilices la BoM para administrar las versiones de las bibliotecas, lo que garantiza que todas las versiones sean compatibles.

    dependencies {
        // Declare 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.0.2'
    }
    

    Kotlin+KTX

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

    Si usas la BoM de Firebase para Android, tu app siempre utilizará versiones compatibles de las bibliotecas de Firebase para Android.

    Como alternativa, puedes declarar las dependencias de la biblioteca de Firebase sin usar la BoM.

    Si eliges no usar la BoM de Firebase, debes especificar cada versión de la biblioteca de Firebase en su línea de dependencia.

    Ten en cuenta que, si usas varias bibliotecas de Firebase en tu app, te recomendamos que utilices la BoM para administrar las versiones de las bibliotecas, lo que garantiza que todas las versiones sean compatibles.

    dependencies {
        // Declare 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-ktx:20.0.2'
    }
    

  2. Vuelve a compilar la app.

Paso 2: Agrega el complemento 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 los seguimientos de código personalizado con la anotación @AddTrace.

  1. En tu archivo de Gradle (generalmente app/build.gradle) del módulo (al nivel de la app), aplica el complemento de Performance Monitoring:

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services'
    // Apply the Performance Monitoring plugin
    apply plugin: 'com.google.firebase.firebase-perf'
    
    android {
      // ...
    }
    
  2. En el archivo de Gradle build.gradle de nivel de raíz (al nivel del proyecto), agrega las reglas para incluir el complemento de Performance Monitoring.

    buildscript {
    
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // Add the Bintray repository
          jcenter()
        }
    
        dependencies {
          // ...
    
          // To benefit from the latest Performance Monitoring plugin features,
          // update your Android Gradle Plugin dependency to at least v3.4.0
          classpath 'com.android.tools.build:gradle:3.4.0'
    
          classpath 'com.google.gms:google-services:4.3.10'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.4.0'  // Performance Monitoring plugin
        }
    }
    
  3. 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.

  1. Puedes generar eventos si alternas varias veces la ejecución de la app entre el primer y segundo plano, interactúas con la app a través de la navegación por las pantallas o activas solicitudes de red.

  2. 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)

  1. Agrega un elemento <meta-data> al archivo AndroidManifest.xml de tu 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>
    
  2. Revisa si hay mensajes de error en los mensajes de registro.

  3. 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
  4. Verifica los siguientes tipos de registros que indican que Performance Monitoring registra los eventos de rendimiento:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. 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 seguimientos de código personalizados.

Con un seguimiento personalizado de código, 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 personalizada 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:

    • Actualizar 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.0).

    • Reemplazar la línea de dependencia del complemento de Performance Monitoring en tu archivo de Gradle (build.gradle) de nivel de raíz (del proyecto) de la siguiente forma:

      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