Agrega supervisión personalizada para código específico de tu app

Performance Monitoring recopila seguimientos para ayudarte a supervisar el rendimiento de tu app. Un seguimiento es un informe de datos de rendimiento que se capturan entre dos momentos en tu app.

Puedes crear tus propios seguimientos para supervisar los datos de rendimiento asociados con código específico de tu app. Con un seguimiento de código personalizado, puedes medir cuánto tiempo le lleva a tu app completar una tarea específica o un conjunto de tareas, por ejemplo, cargar una conjunto de imágenes o consultar tu base de datos.

La métrica predeterminada de un seguimiento de código personalizado es su “duración” (el tiempo entre los puntos de inicio y detención del seguimiento), pero también puedes agregar métricas personalizadas.

En el código, tú defines el inicio y el final de un seguimiento de código personalizado con las API que proporciona el SDK de Performance Monitoring.

Los seguimientos de código personalizado se pueden iniciar en cualquier momento después de su creación y cuentan con protección de subprocesos.

Debido a que la métrica predeterminada que se recopila para estos seguimientos es la “duración”, a veces se los llama “Seguimientos de duración”.

Puedes ver los datos de estos seguimientos en la pestaña secundaria Seguimientos personalizados de la tabla de seguimientos, que se encuentra en la parte inferior del panel Rendimiento (obtén más información para usar la consola más adelante en esta página).

Atributos predeterminados, atributos personalizados y métricas personalizadas

En el caso de los seguimientos de código personalizado, Performance Monitoring registra automáticamente los atributos predeterminados (metadatos comunes, como la versión de la app, el país, el dispositivo, etc.), a fin de que puedas filtrar los datos del seguimiento en Firebase console. También puedes agregar y supervisar atributos personalizados (como el nivel del juego o las propiedades del usuario).

Además, puedes configurar un seguimiento de código personalizado para que registre métricas personalizadas de los eventos relacionados con el rendimiento que ocurran dentro del alcance del seguimiento. Por ejemplo, puedes crear una métrica personalizada para la cantidad de aciertos y errores de caché o la cantidad de veces que la IU deja de responder por un período notorio.

Los atributos y las métricas personalizados se muestran en Firebase console junto con los atributos y las métricas predeterminados del seguimiento.

Agrega seguimientos de código personalizados

Usa la API de Trace de Performance Monitoring para agregar seguimientos de código personalizado a fin de supervisar un código específico de la aplicación.

Ten en cuenta lo siguiente:

  • Una app puede tener varios seguimientos de código personalizados.
  • Se puede ejecutar más de un seguimiento de código personalizado al mismo tiempo.
  • Los nombres de los seguimientos de código personalizado no deben tener espacios en blanco al inicio ni al final, ni comenzar con guion bajo (_), y no pueden tener más de 100 caracteres.
  • Los seguimientos de código personalizado permiten agregar métricas personalizadas y atributos personalizados.

Para iniciar o detener un seguimiento de código personalizado, une el código del que quieras hacer seguimiento con código similar al que se muestra a continuación:

Trace customTrace = FirebasePerformance.instance.newTrace('custom-trace');
await customTrace.start();

// Code you want to trace

await customTrace.stop();

Agrega métricas personalizadas a los seguimientos de código personalizado

Usa la API de Trace de Performance Monitoring para agregar métricas personalizadas a los seguimientos de código personalizado.

Ten en cuenta lo siguiente:

  • Los nombres de las métricas personalizadas no deben tener espacios en blanco al inicio ni al final, no pueden comenzar con guion bajo (_) y no deben exceder los 100 caracteres.
  • Cada seguimiento de código personalizado puede registrar hasta 32 métricas (incluida la métrica Duración predeterminada).

Para agregar una métrica personalizada, agrega una línea de código similar a la siguiente cada vez que ocurra el evento. Por ejemplo, esta métrica personalizada cuenta los eventos relacionados con el rendimiento que ocurren en tu app, como los aciertos de caché o los reintentos.

Trace customTrace = FirebasePerformance.instance.newTrace("custom-trace");
await customTrace.start();

// Code you want to trace

customTrace.incrementMetric("metric-name", 1);

// More code

await customTrace.stop();

Crea atributos personalizados para seguimientos de código personalizado

Para usar atributos personalizados, agrega código a tu app que defina el atributo y lo asocie con un seguimiento de código personalizado específico. Puedes configurar el atributo personalizado en cualquier momento desde que se inicia el seguimiento hasta que se detiene.

Ten en cuenta lo siguiente:

  • Los nombres de los atributos personalizados no deben tener espacios en blanco al inicio ni al final, no pueden comenzar con guion bajo (_) y no deben exceder los 32 caracteres.

  • Cada seguimiento de código personalizado puede registrar hasta 5 atributos personalizados.

  • No debes usar atributos personalizados con información que permita a Google identificar a un individuo.

Trace trace = FirebasePerformance.instance.newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String? experimentValue = trace.getAttribute("experiment");

// Delete scenario.
trace.removeAttribute("experiment");

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

Sigue, visualiza y filtra datos de rendimiento

Realiza un seguimiento de métricas específicas en el panel

Para conocer las tendencias de tus métricas clave, agrégalas al panel de métricas ubicado en la parte superior del panel Rendimiento. Puedes identificar rápidamente las regresiones si observas los cambios intersemanales o verificas que los cambios recientes en el código están mejorando el rendimiento.

Para agregar una métrica al panel de métricas, ve al panel Rendimiento de Firebase console y, luego, haz clic en la pestaña Panel. Haz clic en una tarjeta de métrica vacía y, luego, selecciona una métrica existente para agregarla a tu panel. En una tarjeta de métrica propagada, haz clic en los puntos suspensivos verticales () para ver más opciones, como reemplazar o quitar una métrica.

El panel muestra los datos de métricas recopilados en el tiempo, en forma gráfica y como cambio porcentual.

Obtén más información para usar el panel.

Visualiza seguimientos y sus datos

Para ver tus seguimientos, ve al panel Rendimiento de Firebase console, desplázate hacia abajo hasta la tabla de seguimientos y haz clic en la pestaña secundaria correspondiente. En la tabla se muestran algunas métricas principales para cada seguimiento. Incluso puedes ordenar la lista por el cambio porcentual de una métrica específica.

Si haces clic en un nombre de seguimiento en la tabla de seguimientos, puedes hacer clic en varias pantallas para explorar el seguimiento y desglosar las métricas de interés. En la mayoría de las páginas, puedes usar el botónFiltrar (en la parte superior izquierda de la pantalla) para filtrar los datos por atributo, como se muestra a continuación:

  • Filtra por Versión de la app para ver los datos sobre la versión más reciente o una anterior.
  • Filtra por Dispositivo para obtener información sobre cómo los dispositivos más antiguos manejan tu app.
  • Filtra por País para asegurarte de que la ubicación de la base de datos no afecte a una región específica.

Obtén más información sobre cómo ver los datos de los seguimientos.

Próximos pasos

  • Obtén más información sobre cómo usar atributos para examinar datos de rendimiento.

  • Obtén más información para hacer un seguimiento de los problemas de rendimiento en Firebase console.

  • Configura alertas para los cambios de código que degradan el rendimiento de tu app. Por ejemplo, puedes configurar una alerta por correo electrónico para tu equipo si la duración de un seguimiento de código personalizado específico supera un umbral que estableciste.