Primeros pasos con Performance Monitoring para Android

Antes de comenzar

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

En el build.gradle file de nivel de proyecto, asegúrate de incluir el repositorio Maven de Google en las secciones buildscript y allprojects.

Paso 1: Agrega el SDK de Performance Monitoring a tu app

El SDK de Performance Monitoring permite supervisar los seguimientos de duración automáticos y cualquier seguimiento personalizado adicional de tu app.

  1. En tu archivo Gradle (generalmente app/build.gradle) del módulo (al nivel de la app):

    // ...
    
    dependencies {
      // ...
    
      // Add the dependency for the Performance Monitoring library
      implementation 'com.google.firebase:firebase-perf:19.0.8'
    }
    
  2. Vuelve a compilar la app.

Paso 2: Agrega el complemento de Performance Monitoring a tu app

El complemento Gradle de Performance Monitoring habilita la instrumentación que proporciona el procesamiento de anotaciones @AddTrace y la supervisión automática de solicitudes de red HTTP/S.

Para agregar el complemento de Performance Monitoring a tu app, sigue estos pasos:

  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.3'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.3.1'  // 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 a la sección Rendimiento de Firebase console para ver 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)

Puedes crear seguimientos personalizados para supervisar los datos de rendimiento asociados con código específico de tu app.

Con un seguimiento personalizado, puedes medir cuánto tiempo tarda la app en completar una tarea específica o un conjunto de tareas, como cargar un conjunto de imágenes o consultar la base de datos. La métrica predeterminada de un seguimiento personalizado es su duración, pero también puedes agregar métricas personalizadas, como los aciertos de caché y las advertencias de memoria.

En el código tú defines el inicio y el final de un seguimiento personalizado (y agregas las métricas personalizadas que desees) con las API que proporciona el SDK de Performance Monitoring. En el caso de las apps para Android, también puedes supervisar la duración de métodos específicos con la anotación @AddTrace.

Visita Agrega supervisión personalizada para código específico de tu app a fin de obtener más información sobre estas funciones y descubrir 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:

    • Actualiza el complemento de Performance Monitoring a la versión 1.1.1 o posterior (la más reciente es la versión 1.3.1).

    • Reemplaza la línea de dependencia del complemento de Performance Monitoring en tu archivo de Gradle (build.gradle) de nivel de raíz (al nivel 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/S 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.

Pasos siguientes