Open Source Java Profilers

Que pouvez-vous recommander à utiliser avec Java?

La seule exigence est qu’il devrait être open source, ou n’a pas de licence académique trop chère.

Le VisualVM fourni avec jdk6 contient un profileur de base. VisualVM est fourni avec le jdk, donc si vous avez installé jdk6, vous l’avez probablement installé.

https://visualvm.github.io/

vous avez une liste ici (en les énumérant ci-dessous, le lien est cassé)

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • NetBeans Profiler
  • API JAMon
  • JBoss Profiler
  • MessAdmin
  • Infrarouge
  • TomcatProbe
  • Java Interactive Profiler (JIP)
  • Profiler4j
  • Chronomètre
  • JMesures
  • DJProf
  • TIJmp
  • Allmon
  • Appspy
  • EurekaJ
  • japex
  • OKTECH Profiler
  • Perf4j

Ah! Netbeans Profiler , gagnant du “produit de l’année” de developer.com en 2009.

Java possède un profileur intégré de base appelé HProf . Je trouve utile de comparer les résultats qu’il fournit avec les résultats obtenus avec des profils plus complets.

L’outil open-source jvmtop inclut un profileur de console de base. Exemple de sortie:

JvmTop 0.7.0 alpha - 15:16:34, amd64, 8 cpus, Linux 2.6.32-27, load avg 0.41 http://code.google.com/p/jvmtop Profiling PID 24015: org.apache.catalina.startup.Bootstrap 36.16% ( 57.57s) hudson.model.AbstractBuild.calcChangeSet() 30.36% ( 48.33s) hudson.scm.SubversionChangeLogParser.parse() 7.14% ( 11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript() 6.25% ( 9.95s) net.sf.json.JSONObject.write() 3.13% ( 4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri() 

Eclipse TPTP

Voici un article sur Java Application Profiling à l’aide de TPTP et voici un didacticiel sur le profilage d’applications basées sur J2SE 5.0 utilisant Eclipse TPTP .

Si vous recherchez un profileur open source simple et facile à utiliser, vous pouvez consulter Jip ( Java Interactive Profiler ). Il est publié sous licence BSD. Je l’ai trouvé très utile pour les petits programmes. Au moins, les résultats obtenus sont beaucoup plus faciles à comprendre que les résultats de hprofs.

C’est rapide, sale et très efficace: prenez simplement quelques copies de fil, mettez le programme en pause plusieurs fois et examinez les traces de la stack.

Java Mission Control , il est gratuit pour le développement et s’intègre à Eclipse. Il a une surcharge très faible (<1%) car il se greffe sur les données que la JVM collecte de toute façon.

Il est très facile à utiliser et il peut également fournir de nombreuses informations que vous ne trouverez généralement pas dans d’autres outils de profilage, tels que le profil de latence, l’inspection de la mémoire en ligne, les statistiques détaillées sur le gc.

Netbeans IDE inclut un profileur gratuit.

Aussi, si je me souviens bien, la licence académique pour JProfiler est (relativement) peu coûteuse.

JVM Monitor est un profileur Java intégré à Eclipse pour surveiller l’utilisation du processeur, des threads et de la mémoire des applications Java.

Si une parsing plus approfondie est nécessaire, vous pouvez utiliser d’autres outils (par exemple, TPTP , parsingur de mémoire ) comme étape suivante.