Monitoreo del desempeño de la implementación de funciones

1. Información general

En este codelab, aprenderá cómo monitorear el rendimiento de su aplicación durante la implementación 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 los seguimientos de instrumentación para monitorear el rendimiento de la aplicación, implementaremos un cambio de configuración en la aplicación, monitorearemos el efecto y veremos 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 fotogramas 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 utilizar el panel de seguimiento del rendimiento para comprender sus métricas y realizar un seguimiento de cambios importantes, como la implementación de una función.
  • Cómo configurar alertas de rendimiento para monitorear sus métricas clave
  • Cómo implementar un cambio en Firebase Remote Config

Requisitos previos

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

2. Configure el proyecto de muestra

Descarga el código

Ejecute el siguiente comando para clonar el código de muestra de este codelab. 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 a 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 codelab, usarás el complemento Firebase Assistant para registrar tu aplicación de Android con un proyecto de Firebase y agregar los archivos de configuración, complementos y dependencias de Firebase necesarios a tu proyecto de Android, ¡ todo desde Android Studio !

Conecte su 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 Monitoreo de rendimiento para agregarlo a su aplicación y luego haga clic en Comenzar con Monitoreo de rendimiento .
  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 Firebase console, haz clic en Agregar proyecto y luego ingresa el nombre de un proyecto de Firebase (si ya tienes un proyecto de Firebase, puedes seleccionar ese proyecto existente) . 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 de Android Studio, haga clic en Agregar monitoreo de rendimiento a su aplicación .

Debería ver un cuadro de diálogo para Aceptar cambios, después del 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 de Android Studio indicando 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 presentación 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 presentación se implementa en SplashScreenActivity y hace lo siguiente:

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

En MainActivity , si se define seasonal_image_url 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. Configurar la configuración remota

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

  1. En el panel izquierdo de Firebase console , ubique la sección Engage y luego haga clic en Remote Config .
  2. Haga clic en el botón Crear configuración para abrir el formulario de configuración y agregue 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 función para sus usuarios.

7a07526eb9e81623.png

  1. Abra el formulario Cree su primer parámetro y busque el campo de despliegue de imagen de temporada . 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 desde una URL.
  3. 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 del tiempo de carga de datos.

Su aplicación carga previamente algunos datos antes de mostrar MainActivity y muestra una pantalla de presentación para ocultar este proceso. No desea que sus usuarios esperen demasiado en esta pantalla, por lo que normalmente es beneficioso controlar 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 código específico en su aplicación, como el tiempo de carga de datos y el tiempo de procesamiento de su nueva función.

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. Finalice el seguimiento 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 función descarga y procesa una imagen, agregará un segundo seguimiento de código personalizado que rastreará el tiempo adicional que su función 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. Finalice 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 agregó seguimientos de código personalizados para rastrear la duración de la pantalla de presentación ( splash_screen_trace) y el tiempo de procesamiento de la nueva función ( splash_seasonal_image_processing ), ejecute la aplicación en Android Studio nuevamente. Debería ver un mensaje de registro que contiene Logging trace metric: splash_screen_trace , seguida de la duración del seguimiento. No verás un mensaje de registro para splash_seasonal_image_processing porque aún no has habilitado la nueva función.

6. Agregue un atributo personalizado al seguimiento.

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 puedas 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 monitorear la duración de la pantalla de presentación y el tiempo de procesamiento de la nueva característica. Un factor que podría afectar estas duraciones es si la imagen mostrada es la imagen predeterminada o si la imagen debe descargarse desde una URL. Y quién sabe, es posible que eventualmente tengas diferentes URL desde las que descargar una imagen.

Entonces, agreguemos un atributo personalizado que represente la URL de la imagen estacional a estos seguimientos de código personalizado. De esa manera, podrás 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 comienzo 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 ha agregado un atributo personalizado ( seasonal_image_url_attribute ) para sus dos seguimientos personalizados ( splash_screen_trace y splash_seasonal_image_processing ), ejecute la aplicación en Android Studio nuevamente. Debería ver un mensaje de registro que contiene Setting attribute 'seasonal_image_url_attribute' to 'unset' on trace 'splash_screen_trace'. Aún no ha habilitado el parámetro SeasonImageUrl de Remote Config, 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 Firebase console, que explicaremos en detalle en el siguiente paso del codelab.

7. Configure su panel de Monitoreo del desempeño

Configure su panel para monitorear su característica

En Firebase console , selecciona el proyecto que tiene tu aplicación Friendly Eats.

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

¡Deberías ver tu panel de rendimiento con tus primeros puntos de datos en tu tablero de métricas! El SDK de Performance Monitoring recopila datos de rendimiento de su aplicación y los muestra a los pocos minutos de su 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 del tiempo 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 función que agregó, puede personalizar su panel para mostrar la duración del seguimiento del código personalizado splash_screen_trace .

  1. Haga clic en uno de los cuadros vacíos Seleccionar una métrica .
  2. En la ventana de diálogo, seleccione el tipo de seguimiento de seguimientos personalizados y el nombre del seguimiento 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 panel.

Puede utilizar estos mismos pasos para agregar otras métricas que le interesen, de modo 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 codelab, tiene un pequeño conjunto de datos en un rango de tiempo limitado, por lo que utilizará otras vistas del panel que lo ayudarán a comprender el rendimiento de la implementación de la función.

8. Implemente su función

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 Remote Config en Firebase console 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 codelab 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 presentación, deberías ver la nueva pantalla principal en estado vacío.

b0cc91b6e48fb842.png

9. Verifique los cambios de rendimiento

Ahora veamos el rendimiento de la carga de la pantalla de presentación usando el panel de rendimiento en Firebase console. En este paso del codelab, utilizará diferentes partes del panel para ver los datos de rendimiento.

  1. En la pestaña Panel principal, 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 del código personalizado que agregó anteriormente, además de algunos seguimientos listos para usar .
  2. Ahora que ha habilitado la nueva función, busque el seguimiento del código personalizado splash_seasonal_image_processing , que midió el tiempo que llevó 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 Seleccionar una métrica . En la ventana de diálogo, seleccione el tipo de seguimiento Seguimientos personalizados y el nombre del 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 observar más de cerca los datos de splash_screen_trace . Haga clic en la tarjeta splash_screen_trace en el tablero de métricas y 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 presentación para cada URL de imagen de temporada a la derecha:

8fa1a69019bb045e.png

  1. Los valores de duración de la pantalla de presentación 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 "desarmado").

En este codelab, el motivo de esta mayor duración puede ser sencillo, pero en una aplicación real, puede no ser tan obvio. Los datos de duración recopilados provendrán de diferentes dispositivos, ejecutando la aplicación en diversas condiciones de conexión de red, y estas condiciones podrían ser peores que sus expectativas. 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 descargar y procesar la imagen (es decir, la duración del seguimiento splash_seasonal_image_processing ), puede ver que se dedica una gran cantidad de tiempo a descargar la imagen.

6f92ce0f23494507.png

Hallazgos de desempeño

Al utilizar Firebase Performance Monitoring, vio el siguiente impacto en los usuarios finales con la nueva característica 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 al tiempo de procesamiento correspondiente necesario para la imagen.

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

10. Revertir la función

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

Como 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 Remote Config 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 en estado vacío:

d946cab0df319e50.png

11. Solucione los problemas de rendimiento.

Descubriste anteriormente en el codelab que la descarga de una imagen para tu pantalla de presentación estaba causando la desaceleración de tu aplicación. Si miras más de cerca la imagen descargada, verás que estás usando la resolución original de la imagen, ¡que era 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 Remote Config nuevamente

  1. Vuelva a la página de Remote Config en Firebase console.
  2. Haga clic en el icono Editar para el parámetro seasonal_image_url .
  3. Actualice el valor para la implementación de imágenes de temporada a https://images.unsplash.com/photo-1552691021-7043334e0b51?w=640 y 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 Implementación de imagen estacional y luego establezca el percentil nuevamente 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 configurado para usar una URL de imagen de descarga diferente, ejecute la aplicación nuevamente. Esta vez, deberías notar que el tiempo que pasa en la pantalla de presentación es más corto que antes.

b0cc91b6e48fb842.png

Ver el rendimiento de los cambios.

Regrese al panel de Rendimiento en Firebase console para ver cómo se ven las métricas.

  1. Esta vez utilizará la tabla de seguimiento 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 ver una vista más detallada de su métrica de duración nuevamente.

2d7aaca03112c062.png

  1. Haga clic en el atributo personalizado seasonal_image_url_attribute para ver nuevamente 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 presentación, puede configurar alertas para que le notifiquen cuando un seguimiento supere el umbral que haya establecido. Abra el panel de rendimiento y haga clic en el icono 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 excede 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 y 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ó métricas clave de rendimiento para la implementación de una nueva función y reaccionó rápidamente cuando se descubrió un problema de rendimiento. Todo esto fue posible gracias a 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 tu aplicación
  • Agregar un seguimiento de código personalizado a su código para medir una característica específica
  • Configurar un parámetro de Remote Config y un valor condicional para controlar/implementar una nueva característica
  • Comprender cómo utilizar el panel de control del rendimiento para identificar problemas durante una implementación
  • Configurar alertas de rendimiento para notificarle cuando el rendimiento de su aplicación cruza un umbral que usted establezca

Aprende más