Configuration de NuitonTrace

Il faut créer le fichier src/main/resources/META-INF/aop.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">
                     
      <!-- org.nuiton.profiling must not be aspectized. Can break server start. -->
      <pointcut name="executeMethod"
                expression="
      execution(* org.nuiton.util..*(..))
   || execution(* org.chorem..*(..))
   || execution(* org.apache.struts2..*(..))
   || execution(* com.opensymphony..*(..))
   || execution(* org.apache.velocity..*(..))
   || execution(* freemarker..*(..))
   || execution(* ognl..*(..))"/>
    </concrete-aspect>
  </aspects>
</aspectj>

Il faut ajouter la dépendance dans votre projet

    <dependency>
      <groupId>org.nuiton</groupId>
      <artifactId>nuiton-profiling</artifactId>
      <version>3.2-SNAPSHOT</version>
    </dependency>

Vous pouvez ajouter une variable d'environnement pour qu'à la fin de l'exécution de l'application les statistiques soient automatiquement sauvegardées

    export nuitonprofiling_autosavefile=/path/to/MonFichierDeStat.csv

ou

    java -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 au statistique durant l'exécution de l'application

    export nuitonprofiling_webport=4488

ou

    java -Dnuitonprofiling_webport=4488 ...

Lors du lancement de la JVM il faut ajouter un agent sur la ligne de commande

    java -javaagent:\${maven_repo}/org/aspectj/aspectjweaver/1.9.5/aspectjweaver-1.9.5.jar ...

pour une application Web lancée avec Maven

Il faut ajouter des options Maven

    export MAVEN_OPTS="$MAVEN_OPTS -javaagent:\${maven_repo}/org/aspectj/aspectjweaver/1.9.5/aspectjweaver-1.9.5.jar"

ensuite lancer

    mvn jetty:run

Il ne vous reste plus qu'a analyser votre application

NuitonTrace pour une application Web lancée dans un Tomcat

Il faut ajouter des options Tomcat

    export JAVA_OPTS="$JAVA_OPTS -javaagent:${maven_repo}/org/aspectj/aspectjweaver/1.9.5/aspectjweaver-1.9.5.jar"

Si vous avez des problèmes, reconstruire le war avec un clean avant et supprimer le répertoire pour votre application qui a peut être créé par tomcat dans le répertoire webapps.