Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
des instruments monitoring des navigateurs avec agent Java API
La fonctionnalité vous donne une visibilité sur la manière dont vos utilisateurs interagissent avec votre Java application en utilisant un de code JavaScript snippet (ou «agent») pour instrumenter les pages Web de votre application. Pour installer l'agent de navigateur via l'UI, suivez les procédures pour installer l'agent de navigateur. Par exemple, vous pouvez :
Activer une application de monitoring APM .
Activer avec la méthode copier/coller.
Activer en utilisant l'API REST.
Vous pouvez également manuellement instrument vos pages Web en utilisant l'agent Java API, comme expliqué dans ce document.
Utiliser l'API de l'agent Java
Si votre framework ne vous permet pas d'activer monitoring des navigateurs depuis notre UI, avec la méthode copier/coller, ou en utilisant notre API REST, vous pouvez instrumenter manuellement monitoring de vos pages Web. Pour ce faire, utilisez notre API d'agent Java.
Définissez l'indicateur auto_instrument sous browser_monitoring sur false dans votre newrelic.yml.
browser_monitoring:
auto_instrument:false
Redémarrez votre application.
Vider le cache de travail du serveur d'applications.
Le vidage du cache de travail force le serveur d'applications à recompiler les JSP, c'est à ce moment-là que l'auto-instrumentation se produit.
Utilisez l’indicateur disabled_auto_pages sous la section browser_monitoring . Par exemple, pour désactiver auto-instrumentation sur testpage_1.jsp et testpage_2.jsp, utilisez ce qui suit :
Ajoutez la méthode com.newrelic.api.agent.NewRelic.getBrowserTimingHeader() pour activer le suivi du temps. Voir ci-dessous les procédures pour un cadre spécifique.
Important
À partir de l'agent Java 8.9.0, l'appel de méthode API getBrowserTimingFooter() est obsolète. L'intégralité du script du navigateur est désormais inclus lors de l'appel de getBrowserTimingHeader().
Trouvez les méthodes appropriées en fonction du framework que vous utilisez :
Insérez l'en-tête aussi près que possible du haut de tag <head>, mais après la balise méta.
<!DOCTYPEhtml>
<html>
<head>
<title>EXAMPLE</title>
<metacharset="utf-8"/>
<metaname="description"content="Example header and footer call"/>
L'instrumentation manuelle n'est pas disponible avec JSF. Pour insérer le snippet JavaScript du navigateur dans les pages Web de votre application, utilisez la méthode copier/coller.
Si vous utilisez Velocity Tools, définissez un outil NewRelic dans toolbox.xml:
<toolbox>
<tool>
<key>NewRelic</key>
<scope>application</scope>
<class>com.newrelic.api.agent.NewRelic</class>
</tool>
</toolbox>
Appelez l'API NewRelic dans votre modèle de vélocité :
$NewRelic.getBrowserTimingHeader()
...
Pour garantir que toutes les pages vues de votre navigateur ne sont pas regroupées sous une seule transaction /velocity (et pour éviter les problèmes de regroupement métrique), désactivez votre paramètre enable_auto_transaction_naming dans votre fichier newrelic.yml :
enable_auto_transaction_naming:false
Ajoutez newrelic-api.jar au classpath de Tomcat, généralement dans .../tomcat/bin/setenv.sh:
Si une tag <toolbox scope="application"> existe déjà, placez le <tool ... /> dans la tag.
Dans chaque application, modifiez le modèle Velocity utilisé par les autres pages de l'application. Ajoutez cette tag dans la section <head> avant toute déclaration <link> et <script> et après toute balise méta :
$NewRelic.getBrowserTimingHeader()
Redémarrez le serveur Tomcat :
Si vous utilisez Linux/Unix, ajoutez la ligne de commande suivante au répertoire Users/Tomcat/bin :
./shutdown.sh
./startup.sh
Si vous utilisez Windows, accédez à votre répertoire Users/Tomcat/bin et ajoutez la ligne de commande suivante :
% shutdown.bat
% startup.bat
Vérifiez le fichier de log pour vérifier que l'agent est correctement instrumenté. Définissez le paramètre log_level dans newrelic.yml sur log_level: finer et vérifiez les messages suivants :
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
Le snippet JavaScript n'est pas inséré dans la réponse HTML tant que l'agent ne se connecte pas au serveur.
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>