Utilisation de NuitonTrace
Il faut récupérer le fichier nuiton-profiling-3.2-SNAPSHOT-jar-with-dependencies.jar via le lien dans la section téléchargement.
Il faut créer un fichier, par exemple monprojet-profiling.xml, pour indiquer les methodes que vous souhaitez surveiller, il contient par exemple
<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd"> <aspectj> <weaver options="-verbose"/> <aspects> <concrete-aspect name="org.nuiton.profiling.NuitonTraceTestAspect" extends="org.nuiton.profiling.NuitonTrace"> <pointcut name="executeMethod" expression=" execution(* org.nuiton..*(..)) || execution(* org.chorem..*(..)) || execution(* org.apache.struts2..*(..)) || execution(* com.opensymphony..*(..)) || execution(* org.apache.velocity..*(..)) || execution(* freemarker..*(..)) || execution(* ognl..*(..))"/> </concrete-aspect> </aspects> </aspectj>
Vous devez lors du lancement de la JVM ajouter un agent
java -javaagent:/path/to/nuiton-profiling-3.2-SNAPSHOT-jar-with-dependencies.jar ...
Vous devez indiquer le chemin du fichier de configuration XML
-Dorg.aspectj.weaver.loadtime.configuration=file:/path/to/monprojet-profiling.xml
Vous pouvez ajouter une variable d'environnement pour qu'à la fin de l'exécution de l'application les statistiques soient automatiquement sauvegardées
-Dnuitonprofiling_autosavefile=/path/to/MonFichierDeStat.csv
Vous pouvez ajouter une variable d'environnement pour qu'un serveur web soit lancé et vous donne accès aux statistiques durant l'exécution de l'application
-Dnuitonprofiling_webport=4488
Vous pouvez indiquer de fusionner toutes les statistiques de tous les threads ensemble, au lieu de garder les statistiques par thread. -------------------------------------------------------------------------------- -Dnuitonprofiling_distinctThreadCall=false --------------------------------------------------------------------------------
pour une application lancée avec Maven
Il faut utiliser la variable MAVEN_OPTS pour indiquer les options
export MAVEN_OPTS="-Dorg.aspectj.weaver.loadtime.configuration=file:/path/to/monprojet-profiling.xml \ -javaagent:/path/to/nuiton-profiling-3.2-SNAPSHOT-jar-with-dependencies.jar \ -Dnuitonprofiling_webport=4488"
ensuite pour une application utilisez
mvn exec:java -Dexec.mainClass="com.exemple.MonApplication"
ou pour une application Web
mvn jetty:run
Il ne vous reste plus qu'a analyser votre application soit via le fichier générer à la fin de l'exécution, soit via l'application Web qui attend sur le port que vous avez indiqué.