Profilatori Java open source

Cosa puoi consigliare di usare con Java?

L’unico requisito è che dovrebbe essere open source o non ha una licenza accademica troppo costosa.

Il VisualVM che viene fornito con jdk6 ha al suo interno un profiler di base. VisualVM è fornito con jdk, quindi se hai installato jdk6, probabilmente lo avrai installato.

https://visualvm.github.io/

hai una lista qui (elencandoli qui sotto, il collegamento nel caso si interrompe)

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • NetBeans Profiler
  • API JAMon
  • JBoss Profiler
  • MessAdmin
  • infrarosso
  • TomcatProbe
  • Java Interactive Profiler (JIP)
  • Profiler4j
  • Cronometro
  • JMeasurement
  • DJProf
  • TIJmp
  • Allmon
  • AppSpy
  • EurekaJ
  • Japex
  • OKTECH Profiler
  • Perf4j

Ah. Netbeans Profiler , vincitore del “Prodotto dell’anno” di developer.com, nel 2009.

Java ha un profiler di base chiamato HProf . Trovo utile confrontare i risultati che fornisce con i risultati di più profiler di funzionalità complete.

Lo strumento open source jvmtop include un profiler di console di base. Esempio di output:

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

Ecco un articolo su Java Application Profiling tramite TPTP ed ecco un tutorial Profiling J2SE 5.0 basato su applicazioni Eclipse TPTP .

Se stai cercando un profiler open source senza fronzoli e facile da usare, potresti dare un’occhiata a Jip ( Java Interactive Profiler ). È pubblicato sotto una licenza BSD. L’ho trovato molto utile per i piccoli programmi. Almeno, i risultati che fornisce sono molto più facili da capire rispetto all’output di hprofs.

Questo è veloce, sporco e molto efficace: basta fare alcuni discorsi, o mettere in pausa il programma più volte, e osservare le tracce dello stack.

Java Mission Control , è gratuito da utilizzare per lo sviluppo e si integra con Eclipse. Ha un overhead molto basso (<1%) poiché si basa sui dati che la JVM sta comunque raccogliendo.

È molto facile da usare e può anche fornire molte informazioni che in genere non si trovano in altri strumenti di profilatura, ad esempio profili di latenza, ispezione della memoria online, statistiche dettagliate su gc

Netbeans IDE include un profiler gratuito.

Inoltre, se ricordo bene, la licenza accademica per JProfiler è (relativamente) poco costosa.

JVM Monitor è un profiler Java integrato con Eclipse per monitorare CPU, thread e utilizzo della memoria delle applicazioni Java.

Se è necessaria un’ulteriore analisi approfondita, è ansible utilizzare altri strumenti (ad esempio TPTP , Analizzatore di memoria ) come passaggio successivo.