Performance Monitoring utiliza seguimientos para recopilar datos sobre los procesos monitoreados en su aplicación. Un seguimiento es un informe que contiene datos capturados entre dos momentos en el tiempo en su aplicación.
Para todos los tipos de aplicaciones, Performance Monitoring recopila automáticamente un seguimiento para cada solicitud de red emitida por su aplicación, denominado seguimiento de solicitud de red HTTP/S . Estos seguimientos recopilan métricas para el tiempo entre el momento en que su aplicación emite una solicitud a un punto final de servicio y el momento en que se completa la respuesta de ese punto final. Para cualquier punto final al que su aplicación realiza una solicitud, Performance Monitoring captura varias métricas:
Tiempo de respuesta: tiempo entre el momento en que se realiza la solicitud y el momento en que se recibe la respuesta en su totalidad.
Tamaño de la carga útil de respuesta: tamaño en bytes de la carga útil de la red descargada por la aplicación
Solicitar tamaño de carga útil: tamaño en bytes de la carga útil de red cargada por la aplicación
Tasa de éxito: porcentaje de respuestas exitosas (códigos de respuesta en el rango de 100 a 399) en comparación con el total de respuestas
Puede ver los datos de estos seguimientos en la subpestaña Solicitudes de red de la tabla de seguimientos, que se encuentra en la parte inferior del panel de Rendimiento (obtenga más información sobre el uso de la consola más adelante en esta página).
Performance Monitoring recopila automáticamente métricas para solicitudes de red que utilizan las siguientes bibliotecas de red:
OkHttp3 , específicamente cliente HTTP v3.xx
URLConnection de Java , específicamente HttpURLConnection y HttpsURLConnection
Asegúrese de leer sobre la eliminación del Cliente Apache HTTP y la obsolescencia del Cliente Apache HTTP si utiliza esta biblioteca.
Personalizar la agregación de datos de solicitudes de red
Además de las herramientas listas para usar y la agregación de datos para solicitudes de red, Performance Monitoring también admite las siguientes opciones:
- Instrumente manualmente los seguimientos de solicitudes de red: el monitoreo listo para usar incluye la mayoría de las solicitudes de red para su aplicación. Sin embargo, es posible que algunas solicitudes no se informen o que usted utilice una biblioteca diferente para realizar solicitudes de red. En estos casos, puede utilizar la API de supervisión del rendimiento para instrumentar manualmente seguimientos de solicitudes de red personalizados .
- Agrega datos bajo patrones de URL personalizados: si hay URL específicas que Firebase no captura con su coincidencia automática de patrones de URL derivada, puedes crear patrones de URL personalizados para monitorear un conjunto específico de URL a lo largo del tiempo.
- Personalice cómo se calcula la tasa de éxito: a veces se espera un código de error para ciertos puntos finales de API o ya está manejado en su aplicación. En estos casos, puede configurar cómo se calcula la tasa de éxito y monitorear la tasa de éxito de las llamadas de red de su aplicación con mayor precisión.
Agregación de datos bajo patrones de URL
Firebase Performance Monitoring agrega automáticamente datos de solicitudes de red similares para ayudarte a comprender las tendencias en el rendimiento de tus solicitudes de red.
Para cada solicitud, Firebase verifica si la URL de la solicitud de red coincide con un patrón de URL. Si la URL de la solicitud coincide con un patrón de URL, Firebase agrega automáticamente los datos de la solicitud según el patrón de URL. Firebase muestra patrones de URL y sus datos agregados en la pestaña Red en el panel de Rendimiento de Firebase console.
¿Qué es un patrón de URL?
Un patrón de URL contiene un dominio más un patrón que puede coincidir con una ruta de URL, por ejemplo: example.com/*/animals/**
.
Los patrones de URL pueden contener los siguientes segmentos de ruta:
- texto sin formato: coincide con una cadena exacta
-
*
— coincide con cualquier cadena en un único segmento de ruta -
**
— coincide con un sufijo de ruta arbitrario
Los patrones de URL pueden ser:
- Patrones derivados de Firebase: llamados patrones de URL automáticos
- Patrones definidos por el usuario, llamados patrones de URL personalizados
Por ejemplo: cualquiera de las siguientes solicitudes de URL podría coincidir con el patrón de URL example.com/*/animals/**
.
-
example.com/singapore/animals
-
example.com/australia/animals/spiders
-
example.com/australia/animals/marsupials/koala.png
El dominio de un patrón de URL también puede contener *
como primer segmento, por ejemplo: *.example.com/*/fruits/**
.
Firebase asigna cada solicitud a un solo patrón de URL . Si configuró algún patrón de URL personalizado , Firebase intenta hacer coincidir las URL de solicitud con esos patrones primero. Si Firebase no encuentra ningún patrón de URL personalizado coincidente, hace coincidir una URL de solicitud con el patrón de URL automático más representativo. Obtenga más información sobre patrones de URL automáticos y personalizados en las siguientes secciones.
Patrones de URL automáticos
Sin ninguna configuración por su parte, Performance Monitoring intenta reflejar el comportamiento de uso más reciente de su aplicación haciendo coincidir las solicitudes de su aplicación con patrones de URL automáticos .
¿Cómo funciona la coincidencia automática de patrones de URL?
Firebase relaciona cada solicitud con el patrón de URL automático más representativo que ha derivado de las solicitudes enviadas por su aplicación. Sin embargo, tenga en cuenta que Firebase primero intenta hacer coincidir las URL de solicitud con cualquier patrón de URL personalizado configurado.
El siguiente es un ejemplo básico de cómo Firebase intenta hacer coincidir las solicitudes con el patrón de URL automático más representativo para su aplicación.
Su aplicación envía muchas solicitudes a URL como:
-
example.com/germany/animals/bears
-
example.com/germany/animals/birds
-
example.com/germany/cars
Firebase determina que
example.com/germany/**
es un patrón de solicitud común para tu aplicación y lo agrega como un patrón de URL automático en tu proyecto.Para cualquier solicitud nueva que coincida con este patrón de URL, Firebase agrega los datos de las solicitudes bajo el patrón de URL automático
example.com/germany/**
.-
Después de una semana, la mayoría de las solicitudes de su aplicación se dirigen a
example.com/germany/animals/bears
yexample.com/germany/animals/birds
. Entonces, Firebase deriva un patrón de URL más representativo deexample.com/germany/animals/**
.Para cualquier solicitud nueva que coincida con este nuevo patrón de URL, Firebase agrega los datos de las solicitudes solo bajo el nuevo patrón de URL. Firebase continúa agregando datos para solicitudes a
example.com/germany/cars
enexample.com/germany/**
.Sin embargo, durante las próximas semanas, las solicitudes de su aplicación a
example.com/germany/animals/bears
yexample.com/germany/animals/birds
disminuirán sustancialmente. Firebase determina queexample.com/germany/animals/**
no es representativo del comportamiento de uso más reciente de tu aplicación, por lo que Firebase comienza a hacer coincidir estas dos solicitudes conexample.com/germany/**
.Firebase no agrega más datos de solicitudes en
example.com/germany/animals/**
porque ya no es el patrón de URL automático más representativo.
Dado que la coincidencia automática de patrones de URL es dinámica, tenga en cuenta lo siguiente:
Las coincidencias y los datos agregados de solicitudes anteriores no se ven afectados por los nuevos patrones de URL. Firebase no vuelve a agregar datos de solicitudes de forma retroactiva.
Sólo las solicitudes futuras se ven afectadas por los nuevos patrones de URL. Firebase asigna cada nueva solicitud al patrón de URL automático más representativo. Sin embargo, tenga en cuenta que Firebase primero intenta hacer coincidir las URL de solicitud con cualquier patrón de URL personalizado configurado.
Ver patrones de URL automáticos y sus datos
Firebase muestra todos los patrones de URL y sus datos agregados en la subpestaña Solicitudes de red de la tabla de seguimiento, que se encuentra en la parte inferior del panel de rendimiento de Firebase console.
Es posible que vea patrones de URL con una etiqueta Sin categoría . Estos son patrones de URL automáticos "amplios" bajo los cuales Firebase puede agregar datos para solicitudes que no coinciden con ningún patrón de URL más específico.
Cuando finaliza el período de retención de datos para los datos agregados bajo un patrón de URL, Firebase elimina esos datos del patrón de URL. Si todos los datos agregados bajo un patrón de URL automático vencen, Firebase elimina ese patrón de URL de Firebase console.
Patrones de URL personalizados
Puedes crear patrones de URL personalizados para monitorear patrones de URL específicos que Firebase no captura con su coincidencia automática de patrones de URL derivada. Por ejemplo, puede utilizar un patrón de URL personalizado para solucionar problemas de una URL específica o para monitorear un conjunto específico de URL a lo largo del tiempo.
Visita Crear patrones de URL personalizados para obtener más información.
Realice un seguimiento, vea y filtre datos de rendimiento
Para ver datos de rendimiento en tiempo real, asegúrese de que su aplicación utilice una versión del SDK de monitoreo de rendimiento que sea compatible con el procesamiento de datos en tiempo real. Obtenga más información sobre los datos de rendimiento en tiempo real .
Realice un seguimiento de métricas específicas en su panel
Para conocer las tendencias de sus métricas clave, agréguelas a su tablero de métricas en la parte superior del panel de Rendimiento . Puede identificar rápidamente regresiones al ver los cambios semana tras semana o verificar que los cambios recientes en su código estén mejorando el rendimiento.
Para agregar una métrica a su tablero de métricas, siga estos pasos:
- Vaya al panel de rendimiento en Firebase console.
- Haga clic en una tarjeta de métrica vacía, luego seleccione una métrica existente para agregarla a su tablero.
- Haga clic en en una tarjeta de métrica completa para obtener más opciones, por ejemplo, para reemplazar o eliminar una métrica.
El tablero de métricas muestra los datos de métricas recopilados a lo largo del tiempo, tanto en forma gráfica como como un cambio porcentual numérico.
Obtenga más información sobre el uso del panel .
Ver trazas y sus datos.
Para ver sus seguimientos, vaya al panel de rendimiento en Firebase console, desplácese hacia abajo hasta la tabla de seguimientos y luego haga clic en la subpestaña correspondiente. La tabla muestra algunas métricas principales para cada seguimiento e incluso puede ordenar la lista por el cambio porcentual de una métrica específica.
Performance Monitoring proporciona una página de solución de problemas en Firebase console que resalta los cambios en las métricas, lo que facilita abordar y minimizar rápidamente el impacto de los problemas de rendimiento en sus aplicaciones y usuarios. Puede utilizar la página de solución de problemas cuando conozca posibles problemas de rendimiento, por ejemplo, en los siguientes escenarios:
- Seleccionas métricas relevantes en el panel y notas un gran delta.
- En la tabla de seguimientos, ordena para mostrar los deltas más grandes en la parte superior y ve un cambio porcentual significativo.
- Recibe una alerta por correo electrónico que le notifica sobre un problema de rendimiento.
Puede acceder a la página de solución de problemas de las siguientes maneras:
- En el panel de métricas, haga clic en el botón Ver detalles de métricas .
- En cualquier tarjeta métrica, seleccione
- En la tabla de seguimientos, haga clic en el nombre de un seguimiento o en cualquier valor de métrica en la fila asociada con ese seguimiento.
- En una alerta por correo electrónico, haga clic en Investigar ahora .
Cuando hace clic en el nombre de un seguimiento en la tabla de seguimientos, puede profundizar en las métricas de interés. Haga clic en el
- Filtre por versión de la aplicación para ver datos sobre una versión anterior o su última versión
- Filtre por dispositivo para saber cómo los dispositivos más antiguos manejan su aplicación
- Filtre por país para asegurarse de que la ubicación de su base de datos no afecte a una región específica
Obtenga más información sobre cómo ver datos de sus seguimientos .
Próximos pasos
Obtenga más información sobre el uso de atributos para examinar los datos de rendimiento.
Obtenga más información sobre cómo realizar un seguimiento de los problemas de rendimiento en Firebase console.
Configure alertas para solicitudes de red que degradan el rendimiento de su aplicación. Por ejemplo, puede configurar una alerta por correo electrónico para su equipo si el tiempo de respuesta para un patrón de URL específico excede un umbral que usted establezca.
- Vea informes detallados de sesiones de usuarios en los que puede ver un seguimiento específico en un contexto de línea de tiempo de otros seguimientos recopilados durante la misma sesión.