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 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 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:26.1.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 prefieres no utilizar 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:19.0.10'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:26.1.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 prefieres no utilizar 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:19.0.10'
    }
    

  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 mediante 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.4'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.3.4'  // 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 puede detectar si agregaste el SDK a tu app de manera correcta cuando recibe información de eventos (como las interacciones de la app). Si todavía desarrollas de manera local, interactúa con la app para generar eventos a fin de detectar el SDK y realizar una recopilación y procesamiento iniciales de los datos.

  1. Desarrolla tu app con un emulador o un dispositivo de prueba que cumpla con los siguientes requisitos:

    • Un emulador de Android con una imagen reciente y Servicios de Google Play versión 15.0.0 o posterior

    • Un dispositivo de prueba con Servicios de Google Play versión 15.0.0 o posterior

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

  3. Ve al panel Rendimiento de Firebase console para consultar si Firebase detectó el SDK.

    Si no ves el mensaje “Se detectó el SDK” en un plazo de 2 horas después de agregar el SDK a tu app, consulta las sugerencias para solucionar problemas.

  4. Performance Monitoring procesa los datos de eventos de rendimiento antes de mostrarlos en el panel Rendimiento. Deberías ver los datos iniciales en un plazo de 24 horas después de ver el mensaje de detección del SDK.

    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
    • Logging network request trace: URL

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 personalizados de código.

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 Agrega supervisión personalizada para un código de aplicación específico a fin de obtener más información sobre estas características y cómo agregarlas a tu app.

Paso 6: Implementa tu app y revisa los resultados

Después de validar Performance Monitoring mediante uno o más dispositivos de prueba, puedes implementar la versión actualizada de tu app para 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.3.4)

    • 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