Tiempo de cambio de ruta para aplicaciones de una sola página - Amazon CloudWatch

Tiempo de cambio de ruta para aplicaciones de una sola página

En una aplicación tradicional de varias páginas, cuando un usuario solicita que se cargue contenido nuevo, en realidad está solicitando una nueva página HTML al servidor. Como resultado, el cliente web CloudWatch RUM captura los tiempos de carga mediante las métricas de API de desempeño habituales.

Sin embargo, las aplicaciones web de una sola página utilizan JavaScript y Ajax para actualizar la interfaz sin cargar una página nueva desde el servidor. La API de tiempo del navegador no registra las actualizaciones de una sola página, sino que utilizan el tiempo de cambio de ruta.

CloudWatch RUM admite la supervisión de las cargas de páginas completas desde el servidor y de las actualizaciones de una sola página con las siguientes diferencias:

  • En lo que respecta al tiempo de cambio de ruta, no hay métricas proporcionadas por el navegador, como tlsTime, timeToFirstByte y así sucesivamente.

  • En lo relativo al tiempo de cambio de ruta, el campo initiatorType será route_change.

El cliente web de CloudWatch RUM escucha las interacciones de los usuarios que pueden provocar un cambio de ruta y, cuando se registra una interacción así, el cliente web registra una marca de tiempo. El tiempo de cambio de ruta se iniciará entonces si se cumplen las siguientes condiciones:

  • Se ha utilizado una API de historial del navegador (excepto los botones de avance y retroceso del navegador) para realizar el cambio de ruta.

  • La diferencia entre la hora de detección del cambio de ruta y la última marca de tiempo de interacción del usuario es inferior a 1000 ms. Esto evita el sesgo de datos.

Luego, una vez da comienzo el tiempo de cambio de ruta, ese tiempo se completa si no hay solicitudes AJAX ni mutaciones DOM en curso. Seguidamente, se utilizará la marca de tiempo de la última actividad completada como marca de tiempo de finalización.

El tiempo de cambio de ruta expirará si hay solicitudes AJAX en curso o mutaciones de DOM durante más de 10 segundos (de forma predeterminada). En este caso, el cliente web de CloudWatch RUM ya no registrará el tiempo de este cambio de ruta.

Como resultado, la duración de un evento de cambio de ruta se calcula de la siguiente manera:

(time of latest completed activity) - (latest user interaction timestamp)