Profileurs Java Open Source [fermé]

94

Que pouvez-vous recommander d'utiliser avec Java?

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

Hamza Yerlikaya
la source
4
Quand vous dites open source, voulez-vous dire gratuit? Ils ont des significations différentes. Votre question concerne-t-elle les profileurs _inexensive?
Robert Munteanu
3
libre comme en liberté ou libre comme gratis? Oh la confusion!
Tarski

Réponses:

61

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

https://visualvm.github.io/

Chi
la source
3
Le profileur VisualVM est une version autonome de celui de NetBeans. C'est un TRES bon début.
Thorbjørn Ravn Andersen
2
Téléchargez définitivement la version la plus récente sur: visualvm.dev.java.net . Aussi: c'est le profileur que NetBeans utilise.
Peterdk le
J'ai déjà utilisé VisualVMavec succès, mais cela plantait pour moi en essayant de profiler une application Tomcat. Cela a fonctionné pour moi: github.com/jvm-profiling-tools/honest-profiler
Lambart
21

vous avez une liste ici (listez-les ci-dessous, au cas où le lien serait cassé)

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • Profileur NetBeans
  • API JAMon
  • JBoss Profiler
  • MessAdmin
  • Infrarouge
  • TomcatProbe
  • Java Interactive Profiler (JIP)
  • Profiler4j
  • Chronomètre
  • JMesure
  • DJProf
  • TIJmp
  • Allmon
  • Appspy
  • EurekaJ
  • japex
  • OKTECH Profiler
  • Perf4j
LB40
la source
1
Vous pouvez l'ajouter à la liste: github.com/jvm-profiling-tools/honest-profiler
Lambart
10

Java a un profileur intégré de base appelé HProf . Je trouve utile de comparer les résultats qu'il fournit avec les résultats de profileurs plus complets.

Peter Lawrey
la source
1
J'utilise HPROF depuis des années - et même si ce n'est peut-être pas joli, cela m'a aidé à résoudre d'innombrables problèmes de mémoire et de performances.
Gandalf
1
HPROF trouve souvent différents points à optimiser. Je l'utilise souvent après que YourKit ne me donne plus de points évidents à optimiser.
Peter Lawrey
2
Supprimé depuis jdk 9. openjdk.java.net/jeps/240
user2418306
5

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()
MRalwasser
la source
4

Eclipse TPTP

Voici un article sur le profilage d'application Java à l'aide de TPTP et voici un tutoriel sur le profilage d'applications basées sur J2SE 5.0 à l'aide d'Eclipse TPTP .

Lothar
la source
3
Je n'ai jamais pu configurer TPTP. Je suis peut-être trop stupide pour l'utiliser.
quant_dev
@quant_dev: J'ai eu le même problème mais j'ai réussi accidentellement à le mettre en place soudainement (éclipse redémarrée ou autre?). Mais quand je l'ai utilisé, il s'est avéré presque inutile, incroyablement lent et gourmand en ressources au point de tuer l'éclipse. Certaines des vues les plus utiles qui ont été mentionnées dans plusieurs références que j'ai trouvées en ligne ne semblent plus exister dans la version actuelle qui fonctionne avec eclipse 3.5. Donc, pour le moment, c'est simplement un énorme BLOB d'inutilité.
x4u
1
Eclipse TPTP ressemble à un produit mature mais est extrêmement lent. Je ne comprends pas pourquoi ...
Roalt
4
Malheureusement, TPTP a maintenant sa version finale (v4.7.2). Il a été archivé et ne fait plus partie de la version simultanée d'Eclipse.
joelittlejohn
3

Si vous êtes à la recherche d'un profileur open source simple à utiliser, vous pouvez jeter un œil à Jip ( Java Interactive Profiler ). Il est publié sous une licence BSD. Je l'ai trouvé très utile pour les petits programmes. Au moins, les résultats qu'il donne sont beaucoup plus faciles à comprendre que les résultats de hprofs.

Martin Dirichs
la source
2

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

Il est très facile à utiliser et peut également fournir de nombreuses informations que vous ne trouverez généralement pas dans d'autres outils de profilage, par exemple le profilage de latence, l'inspection de la mémoire en ligne, les statistiques détaillées de GC

Kire Haglin
la source
1

C'est rapide, sale et très efficace: il suffit de prendre quelques threads, ou de mettre le programme en pause plusieurs fois, et de regarder les traces de la pile.

Mike Dunlavey
la source
1

Pensez à https://github.com/jvm-profiling-tools/async-profiler de pointe

Ce projet est un profileur d'échantillonnage à faible surcharge pour Java qui ne souffre pas de problème de biais Safepoint . Il comporte des API spécifiques à HotSpot pour collecter des traces de pile et pour suivre les allocations de mémoire. Le profileur fonctionne avec OpenJDK, Oracle JDK et d'autres environnements d'exécution Java basés sur HotSpot JVM.

Il est également intégré à IntelliJ IDEA Ultimate: https://www.jetbrains.com/help/idea/cpu-profiler.html .


Il existe également des https://github.com/jvm-profiling-tools/honest-profiler similaires .

La comparaison entre async-profileret honest-profiler: https://github.com/jvm-profiling-tools/async-profiler/issues/77

Vadzim
la source
Bel article illustré sur async-profiler: hackernoon.com
Vadzim
0

Netbeans IDE inclut un profileur gratuit.

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

Paul Morie
la source
1
OP a demandé "une licence académique pas trop chère". Une seule licence académique pour JProfiler est de 199 $ US
masher le
1
Il a demandé quelque chose qui était open source ou avait une licence académique bon marché. À mon avis, 199 $ US sont assez bon marché pour un outil qui coûte 499 $ pour une licence normale.
Paul Morie
0

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 analyse plus approfondie est nécessaire, vous pouvez utiliser d'autres outils (par exemple TPTP , Memory Analyzer ) comme étape suivante.

Barun
la source