Personaliza la agregación de datos de solicitudes de red

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.

Sin embargo, a veces necesitas personalizar la forma en que Firebase agrega datos específicos de solicitud de red para respaldar mejor los casos de uso de tu app. Proporcionamos dos formas de personalizar la agregación de datos para las solicitudes de red: agregar datos en patrones de URL personalizados y personalizar cómo se calcula la tasa de éxito.

Agrega datos en patrones de URL personalizados

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.

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.

Firebase muestra todos los patrones de URL (incluidos los patrones de URL personalizados) 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.

¿Cómo funciona la coincidencia de patrones de URL personalizados?

Firebase busca coincidencias entre las URLs de solicitud y cualquier patrón de URL personalizado que hayas configurado recurrir a la coincidencia de patrones de URL automáticos. Cuando se recibe una solicitud que coincide con un patrón de URL personalizado, Firebase agrupa los datos de la solicitud dentro del patrón de URL personalizado.

Si la URL de una solicitud coincide con más de un patrón de URL personalizado, Firebase asigna la solicitud al patrón de URL personalizado más específico según el siguiente orden de especificidad: texto sin formato > * > ** de izquierda a derecha en la ruta. Por ejemplo, una solicitud dirigida a example.com/books/dog coincide con dos patrones de URL personalizados:

  • example.com/books/*
  • example.com/*/dog

Sin embargo, el patrón example.com/books/* es el patrón de URL coincidente más específico porque el segmento más a la izquierda books en example.com/books/* tiene prioridad sobre el segmento más a la izquierda * en example.com/*/dog.

Cuando crees un patrón de URL personalizado nuevo, ten en cuenta lo siguiente:

  • Las coincidencias y los datos agregados de solicitudes anteriores no se ven afectados cuando se crea un patrón de URL personalizado nuevo. Firebase no vuelve a agregar datos de las solicitudes de forma retroactiva.

  • Solo las solicitudes futuras se ven afectadas cuando se crea un patrón de URL personalizado nuevo. Tal vez tengas que esperar hasta 12 horas para que Performance Monitoring recopile y agregue datos dentro de un patrón de URL personalizado nuevo.

Crea un patrón de URL personalizado

Puedes crear un patrón de URL personalizado 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.

Para crear un patrón de URL personalizado nuevo, un miembro del proyecto debe ser Propietario o Editor; sin embargo, todos los miembros del proyecto pueden ver los patrones de URL personalizados y los datos agregados correspondientes.

Puedes crear hasta 400 patrones de URL personalizados por app y hasta 100 patrones de URL personalizados por dominio para esa app.

Si quieres crear un patrón de URL personalizado, comienza con un nombre de host, seguido de segmentos de ruta de acceso. El nombre de host debe incluir un dominio válido y, de manera opcional, puede incluir el subdominio. Usa la siguiente sintaxis de segmento de ruta de acceso para crear un patrón que pueda coincidir con las URL.

  • texto sin formato: coincide con una string exacta
  • *: coincide con el primer segmento de subdominio o con cualquier string de un segmento de ruta único
  • **: coincide con un sufijo de ruta arbitrario

En la siguiente tabla, se describen algunas coincidencias posibles con patrones de URL personalizados.

Para hacer coincidir… Crea un patrón de URL personalizado como… Ejemplo de coincidencias con este patrón de URL
Una URL exacta example.com/foo/baz example.com/foo/baz
Cualquier segmento de ruta único (*) example.com/*/baz example.com/foo/baz
example.com/bar/baz
example.com/*/*/baz example.com/foo/bar/baz
example.com/bah/qux/baz
example.com/foo/* example.com/foo/baz
example.com/foo/bar

Nota: Este patrón no coincidirá con example.com/foo.

Un sufijo de ruta arbitrario (**) example.com/foo/** example.com/foo
example.com/foo/baz
example.com/foo/baz/more/segments
subdomain.example.com/foo.bar/** subdomain.example.com/foo.bar
subdomain.example.com/foo.bar/baz
subdomain.example.com/foo.bar/baz/more/segments
El primer segmento del subdominio (*) *.example.com/foo bar.example.com/foo
baz.example.com/foo

Visualiza patrones de URL personalizados y sus datos

Firebase muestra todos los patrones de URL (incluidos los patrones de URL personalizados) 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.

Para ver solo los patrones de URL personalizados, selecciona Patrones personalizados en el menú desplegable de la pestaña secundaria Solicitudes de red de la tabla de seguimientos. Ten en cuenta que si un patrón de URL personalizado no tiene datos agregados, solo aparecerá en esta lista.

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 personalizado, este no se borra de Firebase console. En cambio, Firebase sigue mostrando los patrones de URL personalizados “vacíos” en la lista Patrones personalizados de la pestaña secundaria Solicitudes de red de la tabla de seguimientos.

Cómo quitar un patrón de URL personalizado

Puedes quitar los patrones de URL personalizados de tu proyecto. Ten en cuenta que no puedes quitar un patrón de URL automático.

  1. En el panel Rendimiento, desplázate hacia abajo hasta la tabla de seguimientos y. luego, selecciona la pestaña secundaria Solicitudes de red.

  2. Selecciona Patrones personalizados en el menú desplegable de la pestaña secundaria Solicitudes de red.

  3. Coloca el cursor sobre la fila del patrón de URL personalizado que deseas quitar.

  4. Haz clic en en el extremo derecho de la fila, selecciona Quitar patrón personalizado y confirma la eliminación en el cuadro de diálogo.

Cuando quites un patrón de URL personalizado, ten en cuenta lo siguiente:

  • Las solicitudes futuras se asignan al siguiente patrón de URL personalizado coincidente más específico. Si Firebase no encuentra patrones de URL personalizados que coincidan, recurre a las coincidencias con patrones de URL automáticos.

  • Las coincidencias y los datos agregados de las solicitudes anteriores no se ven afectados cuando se quita un patrón de URL personalizado.

    Todavía puedes acceder a los patrones de URL que se quitaron y a sus datos agregados en la pestaña secundaria Solicitudes de red (con Todas las solicitudes de red seleccionadas) hasta el final del período de retención de datos aplicable. Cuando se vencen todos los datos agregados dentro de un patrón de URL personalizado que quitaste, Firebase lo borra.

  • La pestaña secundaria Solicitudes de red (con la opción Patrones personalizados seleccionada) no muestra ningún patrón de URL personalizado que se haya quitado.

Próximos pasos

  • 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.

Personaliza cómo se calcula la tasa de éxito

Una de las métricas que supervisa Firebase para cada solicitud de red es la tasa de éxito de la solicitud. La tasa de éxito es el porcentaje de respuestas correctas en comparación con el total de respuestas. Esta métrica te ayuda a medir las fallas de la red y del servidor.

Específicamente, Firebase cuenta automáticamente las solicitudes de red con un código de respuesta de 100 a 399 como respuestas exitosas.

Para personalizar el cálculo de la tasa de éxito, puedes contar ciertos códigos de error como “respuestas exitosas” además de los códigos de respuesta que registra Firebase automáticamente.

Por ejemplo, si tu app tiene una API de extremo de búsqueda, puedes contar las respuestas 404 como “correctas” porque se espera este valor en los extremos de búsqueda. Supongamos que hay 100 muestras para este extremo de búsqueda cada hora y que, de ellas, 60 son respuestas 200 y 40 son respuestas 404. Antes de configurar la tasa de éxito, esta será de un 60%. Después de configurar el cálculo de la tasa de éxito para que se consideren las respuestas 404, la tasa de éxito será del 100%.

Configura el cálculo de la tasa de éxito

Para configurar el cálculo de la tasa de éxito de un patrón de URL de red, debes tener el permiso firebaseperformance.config.update. Los siguientes roles lo incluyen de forma predeterminada: Administrador de Firebase Performance, Administrador de Firebase Quality, Administrador de Firebase y el Propietario o Editor del proyecto.

  1. Ve a la pestaña Panel de Performance Monitoring en Firebase console y, luego, selecciona la app para la que deseas configurar el cálculo de la tasa de éxito.
  2. Desplázate hacia abajo hasta la tabla de seguimientos que aparece en la parte inferior de la pantalla y selecciona la pestaña Solicitudes de red.
  3. Busca el patrón de URL para el que deseas configurar el cálculo de la tasa de éxito.
  4. En el extremo derecho de la fila, abre el menú ampliado () y selecciona Configurar la tasa de éxito.
  5. Sigue las instrucciones en pantalla para seleccionar los códigos de respuesta que quieres considerar correctos.