Para o tempo de carregamento de página padrão, às vezes chamado de monitoramento de usuário real (RUM), medimos o tempo total para carregar a página inteira. O monitoramento adicional após o carregamento da página fornece detalhes sobre chamadas AJAX na página, erros de JavaScript e outros eventos e interações.
Nosso pode aproveitar o agente New Relic para injetar JavaScript dinamicamente nas páginas à medida que elas são criadas, a fim de coletar informações de tempo backend mais detalhadas. O browser também pode monitor aplicativos com arquitetura de aplicativo de página única (SPA).
Instrumentação para coletar dados do browser
Para coletar dados, o monitoramento do Browser utiliza elementos JavaScript colados ou injetados em suas páginas da web, normalmente como parte do HEAD da página, contendo detalhes de configuração e instrumentação essencial do ambiente do browser. Assim que a página terminar de carregar, um script adicional será baixado de um servidor CDN. Este script adicional processa os dados coletados e os reporta à New Relic por meio de bam.nr-data.net para que você possa ver os dados em sua conta New Relic.
Os elementos do script podem ser injetados automaticamente ou por meio da API do agente por um agente APM instalado no aplicativo backend, ou podem ser inseridos manualmente por meio de copiar/colar. Tanto a chamada de API quanto o método copiar/colar permitem controlar quando e onde os elementos do script são inseridos.
Usamos estes métodos para coletar informações de tempo de carregamento da página:
Requisitos de posicionamento de JavaScript
Injetar o JavaScript embutido no HEAD é um requisito incomum para uma biblioteca JavaScript e diferente de como os scripts de terceiros são normalmente incluídos. Exigimos isso para que o browser forneça informações precisas sem afetar o desempenho de carregamento da página.
Os elementos JavaScript do browser injetados envolvem muitas das API integradas do browser para registrar informações sobre erros de JavaScript ou tempos de retorno de chamada. O posicionamento incomum do elemento de código é necessário pelos seguintes motivos:
- O posicionamento HEAD embutido garante que o código de instrumentação seja carregado antes de todos os outros scripts, para que o empacotamento ocorra quando outras bibliotecas forem registradas.
- A colocação de código embutido também elimina as viagens de ida e volta da rede causadas por scripts referenciados externamente.
Transmissão de dados
Para ambas as páginas https and http, transmitimos dados via https. Isso resume quando os dados são transmitidos de e para a página da web.
Importante
New Relic requer suporte à função hash SHA256 aplicar, que alguns sistemas operacionais mais antigos não suportam. Se um usuário final não tiver SHA256, o agente browser não se conectará ao New Relic e os dados não serão enviados.
Data transmission | Frequency |
---|---|
Busque o script do agente | Depois de seguir o carregamento da página via https |
Enviar dados de tempo de carregamento da página | Depois de seguir o carregamento da página via https |
Enviar dados de tempo de visualização de página ( | Os dados são enviados 10 segundos após o carregamento inicial da página e, a seguir, a cada 30 segundos. |
Envie dados de erro AJAX e JavaScript | Uma vez a cada 10 segundos quando houver atividade via https |
Enviar dados de rastreamento da sessão | A cada dez segundos quando houver atividade e estiver ocorrendo um trace da sessão via https |
Enviar dados do SPA | Ao final de uma interação via https |