Esta tradução de máquina é fornecida para sua comodidade.
In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.
Instrumento de monitoramento de browser com API de agente Java
O recurso oferece visibilidade sobre como o usuário está interagindo com seu aplicativo Java usando um trecho JavaScript (ou "agente") para instrumentar as páginas da Web do seu aplicativo. Para instalar o agente browser através da interface, siga os procedimentos para instalar o agente browser. Por exemplo, você pode:
Habilite um aplicativo de monitor APM.
Habilite com o método copiar/colar.
Habilite usando a API REST.
Você também pode instrumentar manualmente suas páginas da web usando a API do agente Java, conforme explicado neste documento.
Usar API do agente Java
Caso seu framework não permita que você habilite o monitoramento do Browser a partir de nossa interface, com o método copiar/colar, ou utilizando nossa API REST, você pode instrumentar manualmente o monitoramento de suas páginas web. Para fazer isso, use nossa API de agente Java.
Defina o sinalizador auto_instrument em browser_monitoring como false em seu newrelic.yml.
browser_monitoring:
auto_instrument:false
Reinicie seu aplicativo.
Limpe o cache de trabalho do servidor de aplicativos.
A limpeza do cache de trabalho força o servidor de aplicativos a recompilar JSPs, que é quando ocorre a instrumentação automática.
Use o sinalizador disabled_auto_pages na seção browser_monitoring . Por exemplo, para desativar a instrumentação automática em testpage_1.jsp e testpage_2.jsp, use o seguinte:
Adicione o método com.newrelic.api.agent.NewRelic.getBrowserTimingHeader() para ativar o controle de tempo. Veja abaixo os procedimentos para estrutura específica.
A instrumentação manual não está disponível com JSF. Para inserir o trecho JavaScript do browser nas páginas da web do seu aplicativo, use o método copiar/colar.
Se você estiver usando o Velocity Tools, defina uma ferramenta NewRelic em toolbox.xml:
<toolbox>
<tool>
<key>NewRelic</key>
<scope>application</scope>
<class>com.newrelic.api.agent.NewRelic</class>
</tool>
</toolbox>
Chame a API NewRelic no seu modelo de velocidade:
$NewRelic.getBrowserTimingHeader()
...
Para garantir que todas as visualizações de página do seu browser não sejam agrupadas em uma única transação /velocity (e para evitar problemas de agrupamento métrico), desative a configuração enable_auto_transaction_naming no arquivo newrelic.yml :
enable_auto_transaction_naming:false
Adicione newrelic-api.jar ao classpath do Tomcat, normalmente em .../tomcat/bin/setenv.sh:
Se já existir uma tag <toolbox scope="application"> , coloque <tool ... /> dentro da tag.
Em cada aplicativo, edite o modelo Velocity usado pelas outras páginas do aplicativo. Adicione esta tag na seção <head> antes de qualquer declaração <link> e <script> e depois de qualquer metatag:
$NewRelic.getBrowserTimingHeader()
Reinicie o servidor Tomcat:
Se você estiver usando Linux/Unix, adicione a seguinte linha de comando ao diretório Users/Tomcat/bin :
./shutdown.sh
./startup.sh
Se você estiver usando Windows, vá para o diretório Users/Tomcat/bin e adicione a seguinte linha de comando:
% shutdown.bat
% startup.bat
Verifique o arquivo de log para verificar se o agente está instrumento corretamente. Defina a configuração log_level em newrelic.yml como log_level: finer e verifique as seguintes mensagens:
May 17, 2011 9:33:18 AM NewRelic FINE: Compiling JSP: /jsp/header.jsp
May 17, 2011 9:33:18 AM NewRelic FINE: Injecting browser timing header into: /jsp/header.jsp
May 17, 2011 9:33:36 AM NewRelic FINE: Compiling JSP: /jsp/footer.jsp
May 17, 2011 9:33:36 AM NewRelic FINE: Injecting browser timing footer into: /jsp/footer.jsp
O trecho JavaScript não é inserido na resposta HTML até que o agente se conecte ao servidor.
May 17, 2011 9:43:21 AM NewRelic INFO: Real user monitoring is enabled with auto instrumentation
May 17, 2011 9:43:23 AM NewRelic FINER: Injecting browser timing header in a JSP. Content type is text/html
May 17, 2011 9:43:23 AM NewRelic FINER: Injecting browser timing footer in a JSP. Content type is text/html
May 17, 2011 9:43:23 AM NewRelic FINEST: Got browser timing header in NewRelic API: <script>var NREUMQ=[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);(function(){var d=document;var e=d.createElement("script");e.type="text/javascript";e.async=true;e.src="https://d7p9czrvs14ne.cloudfront.net/11/eum/rum.js";var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(e,s);})();</script>
May 17, 2011 9:43:23 AM NewRelic FINEST: Got browser timing footer in NewRelic API: <script type="text/javascript" charset="utf-8">NREUMQ.push(["nrf2","staging-beacon-1.newrelic.com","8512b4d93f",7449,"M1RTYksFDEYDUxdcDgoeZERQSwhGEmQGRhVL",0,413])</script>