http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
HPROF ist ein kleines Profiling-Tool, das seit der Version 5.0 fest in Java integriert ist.
Das Tool wird zusammen mit dem zu testenden Java-Programm über die Kommandozeile gestartet. Anhand von Optionsparametern können
zusätzlich die Bereiche festgelegt werden, auf welche während des Profilingvorgangs reagiert werden soll. Wird das Java-Programm
beendet, erzeugt HPROF eine Textdatei, in welcher alle wahrgenommenen Ereignisse gespeichert werden.
Diese kann mit jedem beliebigen Editor betrachtet werden.
Für eine graphische Darstellung der Aufzeichnungen ist das Tool HPjmeter hilfreich, welches die erzeugte Datei einlesen und interpretieren kann.
HPROF ist ein kleines und leicht zu handhabendes Tool, welches gut für den schnellen Einsatz geeignet ist. Da HPROF lediglich per Parameterübergabe
gestartet und konfiguriert werden kann, ist es recht unflexibel. Um Einstellungen zu ändern muss das zu profilende
Programm also jedes mal neu gestartet werden.
Zudem hat das Ergebnis die sehr schlichte Form einer einfachen Text-Datei. Dieser Aspekt macht das Analysieren mühsam und umständlich.
Dafür kommt HPjmeter zum Einsatz, dessen Oberfläche selbsterklärend und leicht bedienbar ist.
Es visualisiert die von HPjmeter aufgezeichneten Daten und gibt diese grafisch und besser verständlich aus.
Jedoch ließen sich nur Dateien einlesen, welche durch HPROF mit einem Heap Dump erzeugt wurden. Ansonsten hat HPjmeter den Ladevorgang mit einer Fehlermeldung abgebrochen.
HPROF ist für ein schnelles Profiling von Java-Programmen geeignet, aber keine professionelle Lösung für einen dauerhaften Einsatz.
HPROF ist ein in Java integriertes Profiling-Tool, das mit dem Start des zu profilenden Programms auf der Kommandozeile ausgeführt wird.
Demnach bietet es die Möglichkeit, in kompilierter Form vorliegende Java-Programme in ihrer Ausführung zu analysieren.
Das Standalone-Programm HPjmeter muss explizit von der HP-Seite heruntergeladen werden (siehe Abschnitt "Installation")
und dient einer besseren Darstellung der Testergebnisse.
HPROF ist seit der Version 5.0 fest in Java integriert und muss nicht nachinstalliert werden.
Das Tool kann mit zwei unterschiedlichen Befehlen gestartet werden:
java -agentlib:hprof[=options] ToBeProfiledClass
java -Xrunhprof[:options] ToBeProfiledClass<
HPjmeter kann über die offizielle HP-Seite in verschiedenen Formaten heruntergeladen werden.
Mittels der verfügbaren .jar Datei lässt sich das Programm mit dem Befehl java -jar HPjmeter.jar
in der Kommandozeile starten.
Auf der offiziellen Java Sun Seite gibt es ein knappes, aber gut verständliches Tutorial.
Zudem existieren mehrere Tutorials im Internet, auch in Zusammenhang mit HPjmeter:
Eine ausführliche Dokumentation zu HPjmeter ist hier zu finden.
Die Projektseite von HPROF besteht nur aus einer einzelnen Seite. Diese wurde zuletzt am 18.11.2004 aktualisiert.
Die Produktseite von HPjmeter wurde zuletzt im Juni 2008 erneuert.
Es wurden weder Nutzergruppen noch Support gefunden.
Da HPROF per Kommandozeile konfiguriert wird, müssen Optionsparameter übergeben werden.
Diese können samt Tutorial hier gefunden werden.
HPjmeter ist sehr intuitiv gestaltet, jedoch konnten einzig HPROF-Dateien eingelesen werden, die mittels hprof=heap=dump
erzeugt wurden.
Es wurde keine Möglichkeit gefunden HPROF oder HPjmeter zu automatisieren.
-agentlib:hprof=heap=dump
. Dieser Parameter bezweckt, dass eine Datei namens java.hprof.txt
im aktuellen Basisverzeichnis angelegt wird. Diese Datei beinhaltet alle gesammelten Informationen und liegt in Klartext vor. Zur Analyse dieser Datei kann, wie weiter oben beschrieben, das Programm HPjmeter verwendet werden.
-agentlib:hprof=heap=dump
übergeben werden. In Maven allerdings gestaltet sich ein Konsolenaufruf mit Übergabe eines JVM-Arguments schwierig. Die Ausführung von Programmen kann über das externe Plugin von codehaus angestoßen werden. Allerdings unterstützt dieses keine Übergabe von Argumenten an die JVM. Zudem wurde auch kein externes Plugin zur Erzeugung von hprof-Dateien im Maven-Repository gefunden.
Polygon/bin
gewechselt.java -agentlib:hprof[=options] ToBeProfiledClass
java -agentlib:hprof=heap=dump de.fhwiesbaden.poly.PolygonGUI
hprof=heap=dump
erzeugt worden sind, konnten nicht in HPjmeter importiert werden.
Es kam jedes Mal zu einer Fehlermeldung.
-agentlib:hprof=heap=dump
wird angegeben welche Aspekte mitgeschnitten und in die Auswertungsdatei geschrieben werden sollen. In diesem Fall ist es ein kompletter Heap Dump.-agentlib
sondern per -Xrunhprof"
zu starten, jedoch soll diese Schnittstelle laut Projektseite zukünftig wieder entfernt werden.Eine komplette Liste der Parameter kann hier gefunden werden.
Um ausreichend Analysedaten zu erhalten, sollte im Polygon-Programm der voreingerichtete <<Hardcore-Test>> ausgeführt werden. Damit HPROF die gesammelten Werte in eine Datei speichert muss das Programm beendet werden, alternativ lässt sich dieser Mechanismus auch mitSTRG+\
starten.
Die Datei wird innerhalb des bin
-Ordners generiert und lässt sich mit jedem beliebigen Texteditor untersuchen:
java -jar HPjmeter.jar
Keine gefunden.