Supervisión del rendimiento de lanzamientos de funciones

1. Información general

En este laboratorio de programación, aprenderá a monitorear el rendimiento de su aplicación durante el lanzamiento de una función. Nuestra aplicación de muestra tendrá una funcionalidad básica y está configurada para mostrar una imagen de fondo diferente basada en un indicador de Firebase Remote Config. Repasaremos la instrumentación de seguimientos para monitorear el rendimiento de la aplicación, implementando un cambio de configuración en la aplicación, monitoreando el efecto y viendo cómo podemos mejorar el rendimiento.

lo que aprenderás

  • Cómo agregar Firebase Performance Monitoring a su aplicación móvil para obtener métricas listas para usar (como la hora de inicio de la aplicación y los marcos lentos o congelados)
  • Cómo agregar seguimientos personalizados para comprender las rutas de código críticas de los recorridos de sus usuarios
  • Cómo usar el panel de control de rendimiento para comprender sus métricas y realizar un seguimiento de los cambios importantes, como la implementación de una característica
  • Cómo configurar alertas de rendimiento para monitorear sus métricas clave
  • Cómo implementar un cambio de configuración remota de Firebase

requisitos previos

  • Android Studio 4.0 o superior
  • Un emulador de Android con nivel de API 16 o superior.
  • Java versión 8 o superior
  • Una comprensión básica de Firebase Remote Config

2. Configurar el proyecto de muestra

Descarga el código

Ejecute el siguiente comando para clonar el código de muestra para este laboratorio de código. Esto creará una carpeta llamada codelab-perf-rc-android en su máquina:

$ git clone https://github.com/FirebaseExtended/codelab-feature-rollout-performance.git

Si no tiene Git en su máquina, también puede descargar el código directamente desde GitHub.

Importe el proyecto en la carpeta firebase-perf-rc-android-start en Android Studio. Probablemente verá algunas excepciones de tiempo de ejecución o tal vez una advertencia sobre la falta de un archivo google-services.json . Corregiremos esto en la siguiente sección.

En este laboratorio de programación, utilizará el complemento Firebase Assistant para registrar su aplicación de Android con un proyecto de Firebase y agregar los archivos de configuración, los complementos y las dependencias necesarios de Firebase a su proyecto de Android, ¡ todo desde Android Studio !

Conecta tu aplicación a Firebase

  1. Vaya a Android Studio / Ayuda > Buscar actualizaciones para asegurarse de que está utilizando las últimas versiones de Android Studio y Firebase Assistant.
  2. Seleccione Herramientas > Firebase para abrir el panel Asistente .

c0e42ef063d21eab.png

  1. Elija Performance Monitoring para agregar a su aplicación, luego haga clic en Comenzar con Performance Monitoring .
  2. Haga clic en Conectar a Firebase para conectar su proyecto de Android con Firebase (esto abrirá la consola de Firebase en su navegador) .
  3. En la consola de Firebase, haga clic en Agregar proyecto , luego ingrese un nombre de proyecto de Firebase (si ya tiene un proyecto de Firebase, puede seleccionar ese proyecto existente en su lugar) . Haga clic en Continuar y acepte los términos para crear el proyecto de Firebase y una nueva aplicación de Firebase.

A continuación, debería ver un cuadro de diálogo para conectar su nueva aplicación Firebase a su proyecto de Android Studio.

51a549ebde2fe57a.png

  1. Haga clic en Conectar .
  2. Abra Android Studio. En el panel Asistente , verá la confirmación de que su aplicación está conectada a Firebase.

40c24c4a56a45990.png

Agregue Monitoreo de rendimiento a su aplicación

En el panel Asistente en Android Studio, haga clic en Agregar monitoreo de rendimiento a su aplicación .

Debería ver un cuadro de diálogo para Aceptar cambios , luego de lo cual Android Studio debería sincronizar su aplicación para asegurarse de que se hayan agregado todas las dependencias necesarias.

3046f3e1f5fea06f.png

Finalmente, debería ver el mensaje de éxito en el panel Asistente en Android Studio que indica que todas las dependencias están configuradas correctamente.

62e79fd18780e320.png

Como paso adicional, habilite el registro de depuración siguiendo las instrucciones del paso "(Opcional) Habilitar el registro de depuración". Las mismas instrucciones también están disponibles en la documentación pública .

3. Ejecute la aplicación

Ahora debería ver el archivo google-services.json en el directorio del módulo (nivel de aplicación) de su aplicación, y su aplicación ahora debería compilarse. En Android Studio, haga clic en Ejecutar > Ejecutar 'aplicación' para compilar y ejecutar la aplicación en su emulador de Android.

Cuando la aplicación se está ejecutando, primero debería ver una pantalla de bienvenida como esta:

ffbd413a6983b205.png

Luego, después de unos segundos, se mostrará la página principal con la imagen predeterminada:

d946cab0df319e50.png

¿Qué está pasando debajo del capó?

La pantalla de bienvenida se implementa en SplashScreenActivity y hace lo siguiente:

  1. En onCreate() , inicializamos la configuración de Firebase Remote Config y obtenemos los valores de configuración que establecerá en el panel de control de Remote Config más adelante en este laboratorio de código.
  2. En executeTasksBasedOnRC() , leemos el valor de configuración de la marca seasonal_image_url . Si el valor de configuración proporciona una URL, descargamos la imagen sincrónicamente.
  3. Una vez que se completa la descarga, la aplicación navega a MainActivity y llama finish() para finalizar SplashScreenActivity .

En MainActivity , si seasonal_image_url se define a través de Remote Config, la función se habilitará y la imagen descargada se mostrará como fondo de la página principal. De lo contrario, se mostrará la imagen predeterminada (que se muestra arriba).

4. Configure la configuración remota

Ahora que su aplicación se está ejecutando, puede configurar el nuevo indicador de funciones.

  1. En el panel izquierdo de Firebase console , localice la sección Engage , luego haga clic en Remote Config .
  2. Haga clic en el botón Crear configuración para abrir el formulario de configuración y agregar seasonal_image_url como clave de parámetro.
  3. Haga clic en Agregar descripción y luego ingrese esta descripción: Shows a seasonal image (replaces default) in the main page when the restaurant list is empty.
  4. Haga clic en Agregar nuevo -> Valor condicional -> Crear nueva condición .
  5. Para el nombre de la condición, ingrese Seasonal image rollout .
  6. Para la sección Applies if... , seleccione User in random percentile <= 0% . (Desea dejar la función deshabilitada hasta que esté listo para implementarla en un paso posterior).
  7. Haga clic en Crear condición . Utilizará esta condición más adelante para implementar la nueva característica para sus usuarios.

7a07526eb9e81623.png

  1. Abra el formulario Crear su primer parámetro y localice el campo desplegable Valor para la imagen estacional . Ingrese la URL donde se descargará la imagen de temporada: https://images.unsplash.com/photo-1552691021-7043334e0b51
  2. Deje el valor predeterminado como una cadena vacía. Esto significa que se mostrará la imagen predeterminada en el código base en lugar de una imagen descargada de una URL.
  3. Haga clic en Guardar .

99e6cd2ebcdced.png

Puede ver que la nueva configuración se crea como un borrador.

  1. Haga clic en Publicar cambios y confirme los cambios en la parte superior para actualizar su aplicación.

39cd3e96d370c7ce.png

5. Agregue monitoreo para el tiempo de carga de datos

Su aplicación carga previamente algunos datos antes de mostrar MainActivity y muestra una pantalla de inicio para ocultar este proceso. No desea que sus usuarios esperen demasiado en esta pantalla, por lo que normalmente es beneficioso monitorear cuánto tiempo se muestra la pantalla de presentación.

Firebase Performance Monitoring proporciona una manera de hacer precisamente eso. Puede instrumentar seguimientos de código personalizados para monitorear el rendimiento de un código específico en su aplicación, como el tiempo de carga de los datos y el tiempo de procesamiento de su nueva característica.

Para realizar un seguimiento de cuánto tiempo se muestra la pantalla de presentación, agregará un seguimiento de código personalizado a SplashScreenActivity , que es la Activity que implementa la pantalla de presentación.

  1. Inicialice, cree e inicie un seguimiento de código personalizado denominado splash_screen_trace :

SplashScreenActivity.java

// ...
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;
// ...

public class SplashScreenActivity extends AppCompatActivity {

    private static final String TAG = "SplashScreenActivity";
    private static final String SEASONAL_IMAGE_URL_RC_FLAG = "seasonal_image_url";

    // TODO: Initialize splash_screen_trace
    private final Trace splashScreenTrace = FirebasePerformance.startTrace("splash_screen_trace");
    
    // ...
}
  1. Termina el rastreo en el método onDestroy() de SplashScreenActivity :

SplashScreenActivity.java

@Override
protected void onDestroy() {
    super.onDestroy();

    // TODO: Stop the splash_screen_trace here
    splashScreenTrace.stop();
}

Dado que su nueva característica descarga y procesa una imagen, agregará un segundo seguimiento de código personalizado que rastreará el tiempo adicional que su característica ha agregado a SplashScreenActivity .

  1. Inicialice, cree e inicie un seguimiento de código personalizado denominado splash_seasonal_image_processing :

SplashScreenActivity.java

private void executeTasksBasedOnRC(FirebaseRemoteConfig rcConfig) {
    String seasonalImageUrl = rcConfig.getString(SEASONAL_IMAGE_URL_RC_FLAG);
    Log.d(TAG, SEASONAL_IMAGE_URL_RC_FLAG + ": " + seasonalImageUrl);

    if (!seasonalImageUrl.isEmpty()) {
        // TODO: Start the splash_seasonal_image_processing here
        final Trace seasonalImageProcessingTrace = FirebasePerformance
            .startTrace("splash_seasonal_image_processing");

        // ...
    }
}
  1. Termina el seguimiento en los métodos onLoadFailed() y onResourceReady() de RequestListener :

SplashScreenActivity.java

Glide.with(SplashScreenActivity.this.getApplicationContext())
    .asBitmap()
    .load(seasonalImageUrl)
    .signature(new ObjectKey(Utils.getCacheUUID()))
    .listener(new RequestListener<Bitmap>() {
        @Override
        public boolean onLoadFailed(
            @Nullable GlideException e,
            Object model, Target<Bitmap> target,
            boolean isFirstResource) {

            // TODO: Stop the splash_seasonal_image_processing here
            seasonalImageProcessingTrace.stop();

            launchMainActivity();
            return true;
        }

        @Override
        public boolean onResourceReady(Bitmap resource, Object model,
            Target<Bitmap> target, DataSource dataSource,
            boolean isFirstResource) {

            // TODO: Stop the splash_seasonal_image_processing here
            seasonalImageProcessingTrace.stop();

            launchMainActivity();
            return true;
        }
     })
     .preload();

Ahora que ha agregado seguimientos de código personalizados para realizar un seguimiento de la duración de la pantalla de bienvenida ( splash_screen_trace) y el tiempo de procesamiento de la nueva característica ( splash_seasonal_image_processing ), vuelva a ejecutar la aplicación en Android Studio. Debería ver un mensaje de registro que contiene Logging trace metric: splash_screen_trace , seguido de la duración del seguimiento. No verá un mensaje de registro para splash_seasonal_image_processing porque aún no ha habilitado la nueva función.

6. Agregue un atributo personalizado a la traza

Para los seguimientos de código personalizados, Performance Monitoring registra automáticamente los atributos predeterminados (metadatos comunes como la versión de la aplicación, el país, el dispositivo, etc.) para que pueda filtrar los datos del seguimiento en Firebase console . También puede agregar y monitorear atributos personalizados .

En su aplicación, acaba de agregar dos seguimientos de código personalizados para controlar la duración de la pantalla de inicio y el tiempo de procesamiento de la nueva función. Un factor que podría afectar estas duraciones es si la imagen que se muestra es la imagen predeterminada o si la imagen debe descargarse desde una URL. Y quién sabe, es posible que eventualmente tenga diferentes URL desde las que descargue una imagen.

Entonces, agreguemos un atributo personalizado que represente la URL de la imagen estacional a estos seguimientos de código personalizados. De esa manera, puede filtrar los datos de duración por estos valores más adelante.

  1. Agregue el atributo personalizado ( seasonal_image_url_attribute ) para splash_screen_trace al principio del método executeTasksBasedOnRC :

SplashScreenActivity.java

private void executeTasksBasedOnRC(FirebaseRemoteConfig rcConfig) {
    String seasonalImageUrl = rcConfig.getString(SEASONAL_IMAGE_URL_RC_FLAG);
    Log.d(TAG, SEASONAL_IMAGE_URL_RC_FLAG + ": " + seasonalImageUrl);

    // TODO: Add a custom attribute "seasonal_image_url_attribute" to splash_screen_trace
    if (seasonalImageUrl.isEmpty()) {
        splashScreenTrace.putAttribute("seasonal_image_url_attribute", "unset");
    } else {
        splashScreenTrace.putAttribute("seasonal_image_url_attribute", seasonalImageUrl);
    }

    // ...
}
  1. Agregue el mismo atributo personalizado para splash_seasonal_image_processing justo después de la llamada startTrace("splash_seasonal_image_processing") :

SplashScreenActivity.java

if (!seasonalImageUrl.isEmpty()) {
    // TODO: Start the splash_seasonal_image_processing here
    final Trace seasonalImageProcessingTrace = FirebasePerformance
        .startTrace("splash_seasonal_image_processing");

    // TODO: Add a custom attribute "seasonal_image_url_attribute" to splash_seasonal_image_processing
    seasonalImageProcessingTrace
        .putAttribute("seasonal_image_url_attribute", seasonalImageUrl);

    // ...
}

Ahora que agregó un atributo personalizado ( seasonal_image_url_attribute ) para sus dos seguimientos personalizados ( splash_screen_trace y splash_seasonal_image_processing ), vuelva a ejecutar la aplicación en Android Studio. Debería ver un mensaje de registro que contiene Setting attribute 'seasonal_image_url_attribute' to 'unset' on trace 'splash_screen_trace'. Todavía no ha habilitado el parámetro de Remote Config seasonarImageUrl , por lo que el valor del atributo no está unset .

El SDK de Performance Monitoring recopilará los datos de seguimiento y los enviará a Firebase. Puede ver los datos en el panel de rendimiento de la consola Firebase, que explicaremos en detalle en el siguiente paso del laboratorio de código.

7. Configure su panel de control de rendimiento

Configure su tablero para monitorear su característica

En la consola de Firebase , seleccione el proyecto que tiene su aplicación Friendly Eats.

En el panel izquierdo, ubique la sección Lanzamiento y monitoreo , luego haga clic en Rendimiento .

¡Debería ver su panel de rendimiento con sus primeros puntos de datos en su tablero de métricas! El SDK de Performance Monitoring recopila datos de rendimiento de su aplicación y los muestra minutos después de la recopilación.

f57e5450b70034c9.png

Este tablero de métricas es donde puede realizar un seguimiento de las métricas clave de su aplicación. La vista predeterminada incluye la duración del seguimiento de la hora de inicio de su aplicación, pero puede agregar las métricas que más le interesen. Dado que está realizando un seguimiento de la nueva característica que agregó, puede adaptar su tablero para mostrar la duración del seguimiento de código personalizado splash_screen_trace .

  1. Haga clic en uno de los cuadros vacíos Seleccione una métrica .
  2. En la ventana de diálogo, seleccione el tipo de rastreo de Rastreos personalizados y el nombre del rastreo splash_screen_trace .

1fb81f4dba3220e0.png

  1. Haga clic en Seleccionar métrica y debería ver la duración de splash_screen_trace agregada a su tablero.

Puede usar estos mismos pasos para agregar otras métricas que le interesen para que pueda ver rápidamente cómo cambia su rendimiento con el tiempo e incluso con diferentes versiones.

1d465c021e58da3b.png

El tablero de métricas es una herramienta poderosa para realizar un seguimiento del rendimiento de las métricas clave experimentadas por sus usuarios. Para este laboratorio de código, tiene un pequeño conjunto de datos en un intervalo de tiempo limitado, por lo que usará otras vistas del tablero que lo ayudarán a comprender el rendimiento de la implementación de funciones.

8. Despliegue su característica

Ahora que configuró su monitoreo, está listo para implementar el cambio de Firebase Remote Config ( seasonal_image_url) que configuró anteriormente.

Para implementar un cambio, volverá a la página de configuración remota en la consola de Firebase para aumentar el percentil de usuario de su condición de orientación. Normalmente, implementaría nuevas funciones para una pequeña parte de los usuarios y las aumentaría solo cuando esté seguro de que no hay problemas con ellas. Sin embargo, en este laboratorio de código, ustedes son los únicos usuarios de la aplicación, por lo que pueden cambiar el percentil al 100 %.

  1. Haga clic en la pestaña Condiciones en la parte superior de la página.
  2. Haga clic en la condición Seasonal image rollout que agregó anteriormente.
  3. Cambie el percentil al 100%.
  4. Haga clic en Guardar condición .
  5. Haga clic en Publicar cambios y confirme los cambios.

70f993502b27e7a0.png

De vuelta en Android Studio, reinicie la aplicación en su emulador para ver la nueva función. ¡Después de la pantalla de inicio, debería ver la nueva pantalla principal de estado vacío!

b0cc91b6e48fb842.png

9. Comprueba los cambios de rendimiento

Ahora, veamos el rendimiento de la carga de la pantalla de inicio mediante el panel de rendimiento en la consola de Firebase. En este paso del laboratorio de código, utilizará diferentes partes del tablero para ver los datos de rendimiento.

  1. En la pestaña principal del Panel , desplácese hacia abajo hasta la tabla de seguimientos y luego haga clic en la pestaña Seguimientos personalizados . En esta tabla, verá los seguimientos de código personalizados que agregó anteriormente, además de algunos seguimientos listos para usar .
  2. Ahora que ha habilitado la nueva característica, busque el seguimiento de código personalizado splash_seasonal_image_processing , que midió el tiempo que tomó descargar y procesar la imagen. A partir del valor de Duración del seguimiento, puede ver que esta descarga y procesamiento lleva una cantidad de tiempo significativa.

439adc3ec71805b7.png

  1. Dado que tiene datos para splash_seasonal_image_processing , puede agregar la duración de este seguimiento a su tablero de métricas en la parte superior de la pestaña Panel .

Al igual que antes, haga clic en uno de los cuadros vacíos Seleccione una métrica . En la ventana de diálogo, seleccione el tipo de seguimiento Seguimientos personalizados y el nombre de seguimiento splash_seasonal_image_processing . Finalmente, haga clic en Seleccionar métrica para agregar esta métrica al tablero de métricas.

7fb64d2340410576.png

  1. Para confirmar aún más las diferencias, puede echar un vistazo más de cerca a los datos de splash_screen_trace . Haga clic en la tarjeta splash_screen_trace en el tablero de métricas, luego haga clic en Ver detalles de métricas .

b1c275c30679062a.png

  1. En la página de detalles, verá una lista de atributos en la parte inferior izquierda, incluido el atributo personalizado que creó anteriormente. Haga clic en el atributo personalizado seasonal_image_url_attribute para ver la duración de la pantalla de inicio para cada URL de imagen estacional a la derecha:

8fa1a69019bb045e.png

  1. Los valores de duración de la pantalla de inicio probablemente serán un poco diferentes a los de la captura de pantalla anterior, pero debería tener una duración más larga cuando la imagen se descarga desde una URL en lugar de usar la imagen predeterminada (representada por "no establecida").

En este laboratorio de código, el motivo de esta mayor duración puede ser sencillo, pero en una aplicación real, puede que no sea tan obvio. Los datos de duración recopilados provendrán de diferentes dispositivos, ejecutando la aplicación en varias condiciones de conexión de red, y estas condiciones podrían ser peores de lo que esperaba. Veamos cómo investigaría este problema si fuera una situación del mundo real.

  1. Haga clic en Rendimiento en la parte superior de la página para volver a la pestaña principal del Panel : 640b696b79d90103.png
  2. En la tabla de seguimientos en la parte inferior de la página, haga clic en la pestaña Solicitudes de red . En esta tabla, verá todas las solicitudes de red de su aplicación agregadas en patrones de URL , incluido el patrón de URL images.unsplash.com/** . Si compara el valor de este tiempo de respuesta con el tiempo total que lleva la descarga y el procesamiento de la imagen (es decir, la duración del seguimiento splash_seasonal_image_processing ), puede ver que una gran parte del tiempo se dedica a descargar la imagen.

6f92ce0f23494507.png

Hallazgos de desempeño

Con Firebase Performance Monitoring, vio el siguiente impacto en los usuarios finales con la nueva función habilitada:

  1. El tiempo dedicado a SplashScreenActivity ha aumentado.
  2. La duración de splash_seasonal_image_processing fue muy larga.
  3. El retraso se debió al tiempo de respuesta para la descarga de la imagen y el tiempo de procesamiento correspondiente necesario para la imagen.

En el siguiente paso, mitigará el impacto en el rendimiento revirtiendo la característica e identificando cómo puede mejorar la implementación de la característica.

10. Revertir la característica

No es deseable aumentar el tiempo de espera de los usuarios durante la pantalla de inicio. Uno de los beneficios clave de Remote Config es la capacidad de pausar y revertir su lanzamiento sin tener que lanzar otra versión para sus usuarios. Esto le permite reaccionar rápidamente a los problemas (como los problemas de rendimiento que descubrió en el último paso) y minimizar la cantidad de usuarios insatisfechos.

Como una mitigación rápida, restablecerá el percentil de implementación a 0 para que todos sus usuarios vuelvan a ver la imagen predeterminada:

  1. Vuelva a la página de configuración remota en Firebase console.
  2. Haga clic en Condiciones en la parte superior de la página.
  3. Haga clic en la condición Seasonal image rollout que agregó anteriormente.
  4. Cambie el percentil a 0%.
  5. Haga clic en Guardar condición .
  6. Haga clic en Publicar cambios y confirme los cambios.

18c4f1cbac955a04.png

Reinicie la aplicación en Android Studio y debería ver la pantalla principal original de estado vacío:

d946cab0df319e50.png

11. Solucione los problemas de rendimiento

Descubriste anteriormente en el laboratorio de código que descargar una imagen para tu pantalla de inicio estaba causando la ralentización de tu aplicación. Al observar más de cerca la imagen descargada, verá que está usando la resolución original de la imagen, que era de más de 2 MB. Una solución rápida para su problema de rendimiento es reducir la calidad a una resolución más adecuada para que la imagen tarde menos en descargarse.

Implemente el valor de configuración remota nuevamente

  1. Vuelva a la página de configuración remota en Firebase console.
  2. Haga clic en el ícono Editar para el parámetro seasonal_image_url .
  3. Actualice el lanzamiento de la imagen Valor para la temporada a https://images.unsplash.com/photo-1552691021-7043334e0b51?w=640 , luego haga clic en Guardar .

828dd1951a2ec4a4.png

  1. Haga clic en la pestaña Condiciones en la parte superior de la página.
  2. Haga clic en Despliegue de imagen estacional y, a continuación, vuelva a establecer el percentil en 100 %.
  3. Haga clic en Guardar condición .

1974fa3bb789f36c.png

  1. Haga clic en el botón Publicar cambios .

12. Pruebe la solución y configure alertas

Ejecute la aplicación localmente

Con el nuevo valor de configuración establecido para usar una URL de imagen de descarga diferente, ejecute la aplicación nuevamente. Esta vez, debe notar que el tiempo que pasa en la pantalla de inicio es más corto que antes.

b0cc91b6e48fb842.png

Ver el rendimiento de los cambios

Regrese al panel de rendimiento en la consola de Firebase para ver cómo se ven las métricas.

  1. Esta vez utilizará la tabla de seguimientos para navegar a la página de detalles. Abajo en la tabla de seguimientos, en la pestaña Seguimientos personalizados , haga clic en el seguimiento personalizado splash_seasonal_image_processing para volver a ver una vista más detallada de su métrica de duración.

2d7aaca03112c062.png

  1. Haga clic en el atributo personalizado seasonal_image_url_attribute para ver de nuevo el desglose de los atributos personalizados. Si pasa el cursor sobre las URL, verá un valor que coincide con la nueva URL para la imagen de tamaño reducido: https://images.unsplash.com/photo-1552691021-7043334e0b51?w=640 (con el ?w=640 al final). ¡El valor de duración asociado con esta imagen es considerablemente más corto que el valor de la imagen anterior y más aceptable para sus usuarios!

10e30c037a4237a2.png

  1. Ahora que ha mejorado el rendimiento de su pantalla de inicio, puede configurar alertas para que le notifiquen cuando un seguimiento supera el umbral que ha establecido. Abra el panel de rendimiento y haga clic en el ícono del menú adicional (tres puntos) para splash_screen_trace y haga clic en Configuración de alertas .

4bd0a2a1faa14479.png

  1. Haga clic en el interruptor para habilitar la alerta de duración . Establezca el valor del umbral para que esté un poco por encima del valor que estaba viendo, de modo que si su splash_screen_trace supera el umbral, recibirá un correo electrónico.
  1. Haga clic en Guardar para crear su alerta. Desplácese hacia abajo hasta la tabla de seguimientos , luego haga clic en la pestaña Seguimientos personalizados para ver que su alerta está habilitada.

2bb93639e2218d1.png

13. ¡Felicitaciones!

¡Felicidades! Habilitó el SDK de Firebase Performance Monitoring y recopiló seguimientos para medir el rendimiento de una nueva característica. Supervisó las métricas de rendimiento clave para la implementación de una nueva función y reaccionó rápidamente cuando se descubrió un problema de rendimiento. Todo esto fue posible con la capacidad de realizar cambios de configuración con Remote Config y monitorear problemas de rendimiento en tiempo real.

Lo que hemos cubierto

  • Agregar el SDK de Firebase Performance Monitoring a su aplicación
  • Agregar un seguimiento de código personalizado a su código para medir una característica específica
  • Configuración de un parámetro de configuración remota y un valor condicional para controlar/implementar una nueva función
  • Comprender cómo utilizar el panel de control de rendimiento para identificar problemas durante una implementación
  • Configurar alertas de rendimiento para notificarle cuando el rendimiento de su aplicación supere un umbral que usted establezca

Aprende más