tag attribute javascript performance monitoring navigator

javascript - attribute - title html



Monitoreo real del usuario: estándares de confiabilidad (1)

"estándares para pérdidas aceptables", es una broma :), si se refiere a W3.org porque dicen que es un problema para todos los desarrolladores asegurarse de que los datos se envíen correctamente sin pérdida. pero encontrará algunas técnicas que se utilizan con la esperanza de que todo funcione bien "sin concesionario": D. tambien lee this

La especificación de Beacon define una interfaz que los desarrolladores web pueden usar para transferir de forma asíncrona pequeños datos HTTP desde el agente de usuario a un servidor web.

La especificación responde a las necesidades de los códigos de análisis y diagnóstico que normalmente intentan enviar datos a un servidor web antes de la descarga del documento. Enviar los datos antes puede resultar en una oportunidad perdida para recopilar datos. Sin embargo, asegurar que los datos se hayan enviado durante la descarga de un documento es algo que tradicionalmente ha sido difícil para los desarrolladores.

Los agentes de usuario normalmente ignorarán XMLHttpRequests asíncronas realizadas en un controlador de descarga. Para resolver este problema, el código de análisis y diagnóstico generalmente realizará una XMLHttpRequest síncrona en un controlador de descarga o descarga previa para enviar los datos. El XMLHttpRequest síncrono obliga al agente de usuario a retrasar la descarga del documento, y hace que la próxima navegación parezca más lenta. No hay nada que pueda hacer la siguiente página para evitar esta percepción de un bajo rendimiento de carga de la página.

Existen otras técnicas que se utilizan para garantizar que los datos se envíen. Una de estas técnicas es retrasar la descarga para enviar datos creando un elemento de imagen y configurando su atributo src dentro del controlador de descarga. Como la mayoría de los agentes de usuario demorarán la descarga para completar la carga de la imagen pendiente, los datos se pueden enviar durante la descarga. Otra técnica es crear un bucle inactivo durante varios segundos dentro del controlador de descarga para retrasar la descarga y enviar los datos a un servidor.

Estas técnicas no solo representan patrones de codificación deficientes, sino que algunas de ellas no son confiables y también dan como resultado la percepción de un rendimiento de carga de página deficiente para la próxima navegación.

¿Existen estándares para la pérdida aceptable de datos de baliza cuando se mide el rendimiento de las páginas web y una forma estándar de contabilizar estas pérdidas?

Muchos usuarios no tienen un navegador que admita Navigator.sendBeacon, e incluso esa API no puede garantizar informes sin pérdidas.

Parece que los datos que es más probable que se pierdan también son los datos más interesantes, de alguna manera: páginas muy lentas, malas conexiones a Internet, carga irregular, etc. Me pregunto si hay métodos conocidos para explicar esto. .