Performance Monitoring usa seguimientos para recopilar datos sobre los procesos supervisados en tu app. Un seguimiento es un informe que contiene datos capturados entre dos momentos en tu app.
Para todos los tipos de apps, Performance Monitoring recopila automáticamente un seguimiento para cada solicitud de red que emite tu app, denominada seguimiento de solicitud de red HTTP/S. Estos seguimientos recopilan métricas del tiempo que transcurre desde que tu app envía una solicitud a un extremo del servicio hasta que se completa la respuesta de ese extremo. Performance Monitoring captura varias métricas de cualquier extremo al que tu app envíe solicitudes:
Tiempo de respuesta: tiempo que transcurre desde que se envía la solicitud hasta que se recibe la respuesta
Tamaño de la carga útil de respuesta: tamaño en bytes de la carga útil de red que descargó la app
Tamaño de la carga útil de la solicitud: tamaño en bytes de la carga útil de red que subió la app
Tasa de éxito: porcentaje de respuestas correctas (códigos de respuesta en el rango de 100 a 399) en comparación con el total de respuestas
Puedes ver los datos de estos seguimientos en la pestaña secundaria Solicitudes de red 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).
Performance Monitoring recopila automáticamente las métricas de las solicitudes de red en las que se usan las siguientes bibliotecas de red:
OkHttp3, específicamente el cliente HTTP v3.xx
URLConnection de Java, específicamente HttpURLConnection y HttpsURLConnection
-
Si usas esta biblioteca, asegúrate de leer sobre la eliminación del cliente HTTP de Apache y la baja del cliente HTTP de Apache.
Personaliza la agregación de datos de solicitudes de red
Además de las herramientas listas para usar y la capacidad de agregar datos sobre solicitudes de red, Performance Monitoring también admite las siguientes opciones:
- Instrumentar manualmente los seguimientos de solicitudes de red: La supervisión lista para usar incluye la mayoría de las solicitudes de red de tu app. Sin embargo, es posible que no se informen algunas solicitudes o que uses otra biblioteca para hacer solicitudes de red. En estos casos, puedes usar la API de Performance Monitoring para instrumentar manualmente los seguimientos personalizados de solicitudes de red.
- Agregar datos en patrones de URL personalizados: Si hay URLs específicas que Firebase no captura con su coincidencia automática de patrones de URL, puedes crear patrones de URL personalizados para supervisar un conjunto específico de URLs en el tiempo.
- Personalizar la manera en que se calcula la tasa de éxito: A veces, se espera un código de error para ciertos extremos de la API o ya se maneja en tu app. En estos casos, puedes configurar cómo se calcula la tasa de éxito y supervisar con más precisión la tasa de éxito de las llamadas de red de tu app.
Agregación de datos en patrones de URL
Firebase Performance Monitoring agrega automáticamente los datos de solicitudes de red similares para ayudarte a comprender las tendencias en el rendimiento de una solicitud de red.
Para cada solicitud, Firebase verifica si la URL de la solicitud de red coincide con algún patrón de URL. Si la URL de la solicitud coincide con algún patrón, Firebase agrega automáticamente los datos de esa solicitud con los del patrón de URL. Firebase muestra los patrones de URL y los datos agregados en la pestaña Red del panel 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 string exacta
*
: coincide con cualquier string en un segmento de ruta único**
: coincide con un sufijo de ruta arbitrario
Los patrones de URL pueden ser de los siguientes tipos:
- Patrones derivados de Firebase (denominados patrones de URL automáticos)
- Patrones definidos por el usuario (denominados 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 para un patrón de URL también puede contener *
como su primer segmento,
por ejemplo: *.example.com/*/fruits/**
.
Firebase asigna cada solicitud a un solo patrón de URL. Si configuraste patrones de URL personalizados, Firebase intentará hacer coincidir las URL de las solicitudes con esos patrones. Si Firebase no encuentra coincidencias con ningún patrón de URL personalizado, asigna la URL de la solicitud al patrón automático más representativo. Encontrarás más información sobre los patrones de URL automáticos y personalizados en las siguientes secciones.
Patrones de URL automáticos
Sin que tengas que configurar algo, Performance Monitoring intenta reflejar el comportamiento de uso más reciente de tu app mediante hacer coincidir las solicitudes de la app con patrones de URL automáticos.
¿Cómo funciona la coincidencia de patrones de URL automáticos?
Firebase asigna cada solicitud al patrón de URL automático más representativo derivado de las solicitudes que envía tu app. Sin embargo, ten en cuenta que Firebase comienza por buscar coincidencias entre las URLs de solicitud y cualquier patrón de URL personalizado configurado.
A continuación, se presenta un ejemplo básico de la forma en que Firebase asigna las solicitudes al patrón de URL automático más representativo de tu app.
La app envía muchas solicitudes a URLs, como las siguientes:
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 la app y lo agrega como patrón de URL automático en tu proyecto.Cuando se recibe una nueva solicitud que coincide con este patrón de URL, Firebase agrega los datos de la solicitud dentro del patrón de URL automático
example.com/germany/**
.Después de una semana, la mayoría de las solicitudes de tu app se dirigen a
example.com/germany/animals/bears
yexample.com/germany/animals/birds
. En respuesta a esto, Firebase deriva un patrón de URL más representativo:example.com/germany/animals/**
.Cuando se recibe una nueva solicitud que coincide con este patrón de URL nuevo, Firebase agrega los datos de la solicitud solo dentro del nuevo patrón de URL automático. Firebase continúa agregando datos de solicitudes a
example.com/germany/cars
dentro deexample.com/germany/**
.Sin embargo, durante las semanas siguientes, las solicitudes de tu app a
example.com/germany/animals/bears
yexample.com/germany/animals/birds
disminuyen considerablemente. Firebase determina queexample.com/germany/animals/**
no es representativo del comportamiento de uso más reciente de tu app y comienza a asignar estas dos solicitudes aexample.com/germany/**
, como al principio.Firebase deja de agregar datos de solicitudes dentro de
example.com/germany/animals/**
, porque este ya no es el patrón de URL automático más representativo.
Debido a que la coincidencia de patrones automáticos de URL es dinámica, ten 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 las solicitudes de forma retroactiva.
Solo las solicitudes futuras se ven afectadas por los patrones de URL nuevos. Firebase asigna cada solicitud nueva al patrón de URL automático más representativo. Sin embargo, ten en cuenta que Firebase comienza por buscar coincidencias entre las URLs de solicitud y cualquier patrón de URL personalizado que hayas configurado.
Ver patrones de URL automáticos y sus datos
Firebase muestra todos los patrones de URL y los datos agregados en la pestaña secundaria Solicitudes de red de la tabla de seguimientos que se encuentra en la parte inferior del panel Rendimiento de Firebase console.
Es posible que veas patrones de URL con la etiqueta Sin clasificar. Estos son patrones de URL automáticos “amplios” que Firebase usa para agregar los datos de las solicitudes que no coinciden con ningún patrón de URL más específico.
Cuando finaliza el período de retención de parte de los datos agregados dentro de un patrón de URL, Firebase los borra del patrón. Cuando se vencen todos los datos agregados dentro de un patrón de URL automático, este se borra de Firebase console.
Patrones de URL personalizados
Puedes crear patrones de URL personalizados para supervisar patrones de URL específicos que Firebase no captura con su coincidencia automática de patrones de URL. Por ejemplo, puedes usar un patrón de URL personalizado para solucionar problemas de una URL específica o supervisar un conjunto específico de URL en el tiempo.
Para obtener más información, visita las sección Crea patrones de URL personalizados.
Sigue, visualiza y filtra datos de rendimiento
Para ver los datos de rendimiento en tiempo real, asegúrate de que tu app use una versión del SDK de Performance Monitoring que sea compatible con el procesamiento de datos en tiempo real. Obtén más información sobre los datos de rendimiento en tiempo real.
Realiza un seguimiento de métricas específicas en el panel
Para conocer las tendencias de tus métricas clave, agrégalas a la sección de métricas ubicada 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, sigue estos pasos:
- Ve al panel Rendimiento de Firebase console.
- 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 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.
Performance Monitoring proporciona una página de solución de problemas en Firebase console que destaca los cambios en las métricas, lo que facilita abordar y minimizar con rapidez el impacto que tienen los problemas de rendimiento en tus apps y usuarios. Puedes usar esta página para obtener información sobre posibles problemas de rendimiento, como en los siguientes casos:
- Si seleccionas métricas relevantes en el panel y observas un gran delta
- Si colocas los deltas más grandes en la parte superior de la tabla de seguimientos y observas un cambio porcentual significativo
- Si recibes una alerta por correo electrónico que te notifica sobre un problema de rendimiento
Puedes acceder a la página de solución de problemas de las siguientes maneras:
- En el panel de métricas, haz clic en el botón Ver los detalles de la métrica.
- En cualquier tarjeta de métrica, selecciona
. En la página de solución de problemas, se muestran detalles de la métrica que seleccionaste. => Ver detalles - En la tabla de seguimientos, haz clic en un nombre de seguimiento o en cualquier valor de métrica de la fila asociada con el seguimiento.
- En una alerta por correo electrónico, haz clic en Investigar ahora.
Cuando haces clic en un nombre de seguimiento en la tabla correspondiente, puedes desglosar las métricas
de interés. Haz clic en el botó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 para 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 las solicitudes de red que degraden el rendimiento de tu app. Por ejemplo, puedes configurar una alerta por correo electrónico para tu equipo si el tiempo de respuesta de un patrón de URL específico supera un umbral que estableciste.
- Mira informes detallados de las sesiones de usuario, en las que puedes ver un seguimiento específico en un contexto de cronograma de otros seguimientos recopilados durante la misma sesión.