Problema
Você não está vendo dados AJAX do seu aplicativo de browser.
Solução
Caso sua aplicação seja instrumento com e esteja coletando dados corretamente para outro Pro recurso, siga estes passos:
Use o console de desenvolvimento do seu browser para verificar se a página foi configurada corretamente. Insira XMLHttpRequest
e/ou fetch
no console.
Se a instrumentação tiver sido bem-sucedida, o console deverá retornar algo como:
// XMLHttpRequest ƒ (e){const t=new o(e),n=r.context...
// fetch ƒ (){var t=3,n=(0,r().getTrace...
Se a instrumentação falhar, você verá algo como:
// XMLHttpRequestƒ XMLHttpRequest() { [native code] }
// fetch ƒ fetch() { [native code] }
Se você observar esse tipo de falha ou uma resposta diferente, a instrumentação AJAX poderá estar desativada ou você poderá estar usando outro script ou biblioteca que esteja em conflito com a instrumentação New Relic.
A instrumentação AJAX não está incluída no agente Lite. Abra a ferramenta de desenvolvimento do console do browser e verifique o objeto newrelic.initializedAgents
. Este objeto contém uma entrada para cada agente em execução na página. Normalmente há apenas um agente em uma página. Inspecione o objeto agente inicializado em busca de um objeto runtime
. Este objeto contém informações sobre o agente em execução, como loaderType
. Se loaderType
for lite
, a instrumentação AJAX não será incluída no agente que está sendo usado.
Se loaderType
não for lite
, você também poderá verificar o agente inicializado para objetos config
e features
. O objeto config
conterá a configuração de tempo de execução do agente, incluindo um objeto ajax
com um booleano enabled
. O objeto features
deve conter uma entrada para cada recurso inicializado pelo agente, incluindo uma entrada ajax
. Verifique se este objeto ajax contém um booleano enabled
de entrada true
e featAggregate
. Se algum desses itens não for verdadeiro, a instrumentação AJAX pode não ter sido inicializada devido a uma alteração de configuração no New Relic na entidade do browser ou possivelmente a uma alteração manual no objeto NREUM.init
que foi copiado/colado no HTML.
O agente pode ser configurado para ignorar determinados domínios e caminhos ao criar o evento AjaxRequest.
Use o console de desenvolvimento do seu browser para verificar as regras atuais da lista de negações AJAX executando newrelic.init
. Procure uma propriedade ajax
contendo uma matriz chamada deny_list
.
Se você vir entradas na lista de negações que não são familiares ou que fazem com que as chamadas AJAX sejam filtradas, revise a documentação do evento Filtrar AjaxRequest para obter mais orientações.
Se o objeto estiver devidamente instrumento, tente disparar uma chamada AJAX em sua aplicação enquanto monitora o tráfego de rede nas ferramentas de desenvolvimento do browser. Aguarde um minuto e procure uma chamada para bam.nr-data.net/jserrors
com um parâmetro xhr
. Se a chamada falhar, verifique se há problemas de rede.
Se você não vir esta chamada, se ela falhar com um erro não relacionado ao acesso à rede, ou se for bem-sucedida, mas você ainda não estiver vendo os dados, continue na documentação de resolução de problemas.
Se suas solicitações usam JSONP, consulte os requisitos e notas sobre funcionalidade abaixo:
Se suas solicitações usarem JSONP, essas solicitações não aparecerão na página da interface AJAX. Porém, você pode visualizá-los como ativos dentro do trace da sessão. Se estiver usando o monitoramento de SPA, você poderá visualizá-los na guia Breakdown da página Page views .
Requisitos para JSONP ser reconhecido:
- Cada solicitação JSONP deve usar uma função de retorno de chamada exclusiva. A biblioteca mais popular (como jQuery) gera uma função de retorno de chamada exclusiva dinamicamente para cada solicitação.
- A string de consulta que contém o nome da função de retorno de chamada deve ser nomeada
"callback"
ou"cb"
para ser reconhecida pelo New Relic. Este é o comportamento padrão na biblioteca mais popular.
Se alguma dessas etapas de resolução de problemas falhar ou você ainda estiver tendo problemas com dados AJAX ausentes, obtenha suporte em support.newrelic.com.