Allgemeines
Java_Profiler nimmt sich des komplexen Themas der Performanceanalyse von großen Java-Applikationen an. Die Performanceanalyse von Enterprise-, Web- und Desktopapplikationen gestaltet sich sehr kompliziert, da die Leistung nicht in einem einzigen Algorithmus (wie z. B. bei einer Simulation) verbraucht wird, vielmehr versickert sie in den 'zigtausend Methoden, die letztendlich die Businesslogik abbilden.
Profiling
Um die Schwachstellen einer Applikation zu finden, reicht es oft nicht aus, nur die Aufrufe einer Funktion zu zählen oder die Aufrufzeiten zu summieren. Dies liegt daran, dass innerhalb einer Anwendung viele Methoden von unterschiedlichen Aufrufern verwendet werden und je nach Aufrufer ein anderes Zeitverhalten offenbaren.
Hier hilft der Java_Profiler weiter, da hier jeder Funktionsaufruf mitprotokolliert wird und man so zu jedem Aufruf einen Stacktrace geliefert bekommt.
Somit eignet sich der Java_Profiler nicht nur zur Performanceanalyse sondern auch zur Codeanalyse.
Download
Auf den Webseiten von Micromata finden Sie die jeweils aktuellste Version des Java_Profilers.
Auf http://sourceforge.net finden Sie die öffentlichen Foren etc. zu diesem Projekt.
Lizenz
Dieses Programm ist unter den Bedingungen der General Public License (GNU) veröffentlicht.
Installation
Voraussetzungen
* ant Version 1.4 oder aktueller
* Java JDK1.2 oder neuer
* gcc unter Unix, oder Microsoft Visual C++ unter Windows
* jprofiler.tar.gz
In dem jprofiler.tar.gz ist bereits eine kompilierte Version für Windows und Linux/glibc2.2 vorhanden.
Kompilieren
Nach dem Umpacken der Dateien aus dem jprofiler-1.1.tar.gz-Archiv in ein Verzeichnis Ihrer Wahl, reicht ein Aufruf von ant in dem neu angelegten Verzeichnis jprofiler-1.1, um den Java_Profiler zu kompilieren.
Dabei wird, je nach Plattform, die native Profiling-Bibliothek libjprofiler.so bzw. jprofiler.dll erzeugt sowie der Java-basierte ProfileViewer kompiliert.
Installation Win32
Um den Java_Profiler unter Windows benutzen zu können, muss die Profiling-Bibliothek jprofiler.dll in einem der Verzeichnisse von PATH liegen.
Installation Unix
Um den Java_Profiler unter UNIX benutzen zu können, muss die Profiling-Bibliothek libjprofiler.so in einem Verzeichnis des LD_LIBRARY_PATH liegen.
Benutzung
Profiling einer Java-Anwendung
Konfiguration
Bevor Sie den Java_Profiler für eine Java-Anwendung verwenden, sollten Sie in den Dateien jprofile.include und jprofile.exclude die Klassen- und Namespaces festlegen, für die Sie ein Profil haben wollen.
In der jprofile.exclude sollten auf jeden Fall die Standard-Bibliotheken aufgeführt werden:
Datei: jprofile.exclude |
|
| 1 2 3 4 5 6 |
java. javax. com.sun sun. org.apache org.xml |
Sie können auch einfach Ihre Namespaces in die jprofile.include eintragen:
Datei: jprofile.include |
|
| de.micromata. |
Bei Konflikten zwischen diesen beiden Dateien hat die Auflistung in jprofile.exclude Vorrang.
Aufruf
Starten sie nun Ihre Applikation wie gewohnt auf der Kommandozeile und geben den zusätzlichen VM-Parameter -Xrunjprofiler an: java -Xrunjprofiler -classpath .... classname args ein. Während die Applikation läuft, wird in dem aktuellen Verzeichnis für jeden Thread jeweils eine mit java.prof beginnende Datei angelegt, die den momentanen Aufrufpfad mitprotokolliert.
Bei Beendigung Ihrer Applikation, durch ein SIGQUIT unter Unix oder ein [Strg]-[Pause] unter Windows, wird aus diesen einzelnen Dateien die eigentliche java.prof Datei generiert.
Falls Sie die Ergebnisse in einer anderen Datei haben wollen, zum Beispiel weil mehrere Prozesse im gleichen Verzeichniss arbeiten, können Sie den Dateinamen beim Start mit angeben: java -Xrunjprofiler:server.prof -classpath .... classname args. Die so erzeugte XML-Datei enthält die gesamten Funktionsaufrufe und deren Zeitdauer, die die Applikation ausgeführt hat.
Zur graphischen Auswertung starten Sie nun die Anzeige durch den Aufruf von jprofiler.sh unter Unix bzw. jprofiler.bat unter Windows.
Bedienung
Menü
- Mit Datei-Öffnen können Sie eine andere Datei als die standardmäßig geöffnete java.prof auswählen.
- Mit Datei-Drucken können Sie die aktuell gewählte TreeMap als Grafik abspeichern.
Maus
Nach dem Öffnen eines Profils können Sie mit den Maustasten wie folgt in der TreeMap navigieren:
* Linke Maustaste: Hereinzoomen um eine Aufruftiefe
* Mittlere Maustaste: Markieren von allen Aufrufen der ausgewählten Funktion
* Rechte Maustaste: Herauszoomen um eine Aufruftiefe
* Strg + Rechte Maustaste: Herauszoomen auf oberste Ebene
Als Tooltip erhalten Sie den Stacktrace der entsprechenden Funktion. In der Tabellenansicht werden die Funktionen, die von der aktuell ausgewählten Funktion aufgerufen werden, mit Ihrer Anzahl der Aufrufe und der Gesamtdauer dieser Aufrufe angezeigt. Mit der linken Maustaste markierte Funktionen in der Tabelle werden automatisch markiert.






