Tempo de mudança de rota para aplicações de página única
Em uma aplicação tradicional de várias páginas, ao solicitar o carregamento de um novo conteúdo, o usuário está, na verdade, solicitando uma nova página HTML do servidor. Por isso, o cliente Web do CloudWatch RUM registra os tempos de carregamento usando as métricas regulares da API de performance.
No entanto, aplicações Web de página única usam JavaScript e Ajax para atualizar a interface sem carregar uma nova página do servidor. As atualizações de página única não são registradas pela API de tempo do navegador e, em vez disso, usam o tempo de mudança de rota.
O CloudWatch RUM é compatível tanto com o monitoramento de carregamentos de páginas inteiras do servidor como de atualizações de página única, com as seguintes diferenças:
No tempo de mudança de rota, não há métricas fornecidas pelo navegador, como
tlsTime
,timeToFirstByte
e outras.No tempo de mudança de rota, o campo
initiatorType
serároute_change
.
O cliente Web do CloudWatch RUM escuta as interações do usuário que podem levar a uma mudança de rota e, quando essa interação do usuário é registrada, o cliente Web registra um carimbo de data/hora. Em seguida, o tempo de mudança de rota começará a ser contado se estas duas condições forem verdadeiras:
Uma API de histórico do navegador (exceto os botões avançar e voltar do navegador) foi usada para realizar a mudança de rota.
A diferença entre o tempo de detecção da mudança de rota e o carimbo de data/hora da interação mais recente do usuário é inferior a 1.000 ms. Isso evita a distorção de dados.
Após ser iniciado, o tempo de mudança de rota será concluído se não houver solicitações AJAX e mutações DOM em andamento. Em seguida, o carimbo de data/hora da última atividade concluída será usado como carimbo de data/hora de conclusão.
O tempo da mudança de rota expirará se houver solicitações AJAX ou mutações DOM em andamento por mais de 10 segundos (por padrão). Nesse caso, o cliente Web do CloudWatch RUM não registrará mais o tempo dessa mudança de rota.
Como resultado, a duração de um evento de mudança de rota é calculada da seguinte forma:
(time of latest completed activity) - (latest user interaction timestamp)