Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Instrumentado monitoreo de navegador con agente de Java API.
La capacidad le brinda visibilidad de cómo su usuario interactúa con su aplicación Java mediante el uso de un fragmento de JavaScript (o "agente") para instrumentar las páginas web de su aplicación. Para instalar el agente del navegador a través de la UI, siga los procedimientos para instalar el agente del navegador. Por ejemplo, puedes:
Habilite una aplicación de monitor APM.
Habilite con el método copiar/pegar.
Habilítelo mediante la API REST.
También puede instrumentar manualmente sus páginas web utilizando la API del agente de Java, como se explica en este documento.
Utilice la API de agente de Java
Si su framework no le permite habilitar el monitoreo del navegador desde nuestra UI, con el método copiar/pegar, o usando nuestra API REST, puede instrumentar manualmente el monitoreo de sus páginas web. Para hacer esto, use nuestra API de agente de Java.
Establezca la bandera auto_instrument debajo de browser_monitoring en false en su newrelic.yml.
browser_monitoring:
auto_instrument:false
Reinicie su aplicación.
Vacíe la caché de trabajo del servidor de aplicaciones.
Vaciar la caché de trabajo obliga al servidor de aplicaciones a recompilar los JSP, que es cuando se produce la instrumentación automática.
Utilice la bandera disabled_auto_pages debajo de la sección browser_monitoring . Por ejemplo, para desactivar la instrumentación automática en testpage_1.jsp y testpage_2.jsp, utilice lo siguiente:
Agregue el método com.newrelic.api.agent.NewRelic.getBrowserTimingHeader() para habilitar el seguimiento del tiempo. Consulte a continuación los procedimientos para un marco específico.
Importante
A partir de Java 8.9.0, la llamada al método API getBrowserTimingFooter() está en desuso. La completa browser script ahora se incluye getBrowserTimingHeader() al llamar a .
Encuentre los métodos apropiados según el framework que esté utilizando:
Inserte el encabezado lo más cerca posible de la parte superior de la etiqueta <head> pero después de las metaetiquetas.
<!DOCTYPEhtml>
<html>
<head>
<title>EXAMPLE</title>
<metacharset="utf-8"/>
<metaname="description"content="Example header and footer call"/>
La instrumentación manual no está disponible con JSF. Para insertar el fragmento de JavaScript del navegador en las páginas web de su aplicación, utilice el método copiar y pegar.
Si está utilizando Velocity Tools, defina una herramienta NewRelic en toolbox.xml:
<toolbox>
<tool>
<key>NewRelic</key>
<scope>application</scope>
<class>com.newrelic.api.agent.NewRelic</class>
</tool>
</toolbox>
Llame a la API NewRelic en su plantilla de velocidad:
$NewRelic.getBrowserTimingHeader()
...
Para asegurarse de que todas las visitas a la página de su browser no estén agrupadas en una única transacción /velocity (y para evitar problemas de agrupación métrica), deshabilite la configuración enable_auto_transaction_naming en su archivo newrelic.yml:
enable_auto_transaction_naming:false
Agregue newrelic-api.jar al classpath de Tomcat, normalmente en .../tomcat/bin/setenv.sh:
Si ya existe una etiqueta <toolbox scope="application"> , coloque el <tool ... /> dentro de la etiqueta.
En cada aplicación, edite la plantilla de Velocity que utilizan las otras páginas de la aplicación. Agregue esta etiqueta dentro de la sección <head> antes de cualquier declaración <link> y <script> y después de cualquier metaetiqueta:
$NewRelic.getBrowserTimingHeader()
Reinicie el servidor Tomcat:
Si está utilizando Linux/Unix, agregue la siguiente línea de comando al directorio Users/Tomcat/bin :
./shutdown.sh
./startup.sh
Si está utilizando Windows, vaya a su directorio Users/Tomcat/bin y agregue la siguiente línea de comando:
% shutdown.bat
% startup.bat
Consulte el archivo de registro para verificar que el agente esté instrumentado correctamente. Establezca la configuración log_level en newrelic.yml en log_level: finer y verifique los siguientes mensajes:
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
El fragmento de JavaScript no se inserta en la respuesta HTML hasta que el agente se conecta al 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>