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é.