Para el tiempo de carga de página estándar, a veces denominado monitoreo de usuarios reales (RUM), medimos el tiempo total para cargar toda la página web. El monitoreo adicional después de la carga de la página proporciona detalles sobre llamadas AJAX en la página, errores de JavaScript y otros eventos e interacciones.
Nuestro puede aprovechar el agente New Relic para inyectar dinámicamente JavaScript en las páginas a medida que se crean, a fin de recopilar información de tiempo de backend más detallada. El navegador también puede monitor aplicaciones con arquitectura de aplicación de página única (SPA).
Instrumentación para recopilar datos del navegador.
Para recopilar datos, monitoreo de navegador utiliza elementos JavaScript pegados o inyectados en sus páginas web, generalmente como parte del HEAD de la página, que contienen detalles de configuración e instrumentación esencial del entorno browser . Una vez que la página termina de cargarse, se descarga un script adicional desde un servidor CDN. Este script adicional procesa los datos recopilados y los informa a New Relic a través de bam.nr-data.net para que pueda ver los datos en su cuenta de New Relic.
Los elementos del script se pueden inyectar automáticamente o a través de la API del agente mediante un agente APM instalado en la aplicación backend, o se pueden insertar manualmente mediante copiar/pegar. Tanto la API de llamada como el método copiar/pegar le permiten controlar cuándo y dónde se insertan los elementos del script.
Utilizamos estos métodos para recopilar la información sobre el tiempo de carga de la página:
Requisitos de ubicación de JavaScript
Inyectar JavaScript en línea en HEAD es un requisito inusual para una biblioteca de JavaScript y es diferente de cómo se incluyen normalmente los scripts de terceros. Requerimos esto para que browser proporcione información precisa sin afectar el rendimiento de carga de la página.
Los elementos JavaScript inyectados browser envuelven muchas de las API integradas del browser para registrar información sobre errores de JavaScript o tiempos de devolución de llamadas. La ubicación inusual del elemento de código es necesaria por las siguientes razones:
- La ubicación de HEAD en línea garantiza que el código de instrumentación se cargue antes que todos los demás scripts, de modo que se produzca el ajuste cuando se registren otras bibliotecas.
- La colocación de código en línea también elimina los viajes de ida y vuelta de la red causados por secuencias de comandos con referencias externas.
Transmisión de datos
Para ambas páginas web https and http, transmitimos datos a través de https. Esto resume cuándo se transmiten los datos hacia y desde la página web.
Importante
New Relic requiere compatibilidad con la función hash SHA256, que algunos sistemas operativos más antiguos no admiten. Si un usuario final carece de SHA256, el agente del navegador no se conectará a New Relic y no se enviarán datos.
Data transmission | Frequency |
---|---|
Obtener el script del agente | Una vez que la siguiente página se carga a través de https |
Enviar datos de tiempo de carga de la página | Una vez que la siguiente página se carga a través de https |
Enviar datos de tiempo de visualización de la página ( | Los datos se envían 10 segundos después de la carga de la página inicial y luego cada 30 segundos. |
Enviar datos de error de AJAX y JavaScript | Una vez cada 10 segundos cuando hay actividad vía https |
Enviar datos del rastreo de sesión | Cada diez segundos cuando hay actividad y se está produciendo un rastreo de sesión vía https |
Enviar datos SPA | Al finalizar una interacción vía https |