Java Performance Tools – Teil 1 (Grundlagen)
Java Performance Tools – Teil 1 (Grundlagen)
Java Performance Tools – Teil 1 (Grundlagen)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
werden, um die Klassennamen auf der<br />
Konsole auszugeben. Hierzu muss der<br />
Agenten-Code aber noch in ein JAR gepackt<br />
werden, das über eine spezielle MA-<br />
NIFEST.MF-Datei verfügt:<br />
Manifest-Version: 1.0<br />
Premain-Class: de.codecentric.instrument.JMVTIAgent<br />
Mithilfe des <strong>Java</strong>-Kommandozeilen-Parameters<br />
-javaagent:jarpath[=options]<br />
kann der Agent und die agentenspezifischen<br />
Parameter definiert werden. Das<br />
Beispiel zeigt, dass man mit einem java.<br />
lang.instrument-Agenten ohne C oder<br />
C++ Code schreiben kann, der spezifische<br />
Funktionen in bestehende <strong>Java</strong>-Anwendungen<br />
einfügen kann. Viele AOP Frameworks<br />
basieren auf dieser Technologie,<br />
um Aspekte in die Anwendungen zur<br />
Laufzeit „einzuweben“. Für Profiler- und<br />
Diagnose-<strong>Tools</strong> ist vor allem die Plattformunabhängigkeit<br />
des Agenten und<br />
die Möglichkeit, Klassen dynamisch zu<br />
verändern, interessant. Die Technologie<br />
www.javamagazin.de<br />
Abb.1: <strong>Java</strong><br />
Management Layer<br />
ermöglicht zum Beispiel das Entfernen<br />
und Hinzufügen von Messpunkten zur<br />
Laufzeit.<br />
<strong>Java</strong> Management Extension (JMX)<br />
Neben den Laufzeitinformationen, die<br />
über die Bytecode-Instrumentierung erzeugt<br />
werden, sind für das Monitoring von<br />
Anwendungen vor allem auch Informationen<br />
über die Infrastrukturkomponenten<br />
notwendig. Hierzu zählen auf der untersten<br />
Ebene Informationen der JVM, wie<br />
Heap-Statistiken oder Thread Informationen.<br />
Bei <strong>Java</strong> EE ist aber auch die Auslastung<br />
der Application-Server-Ressourcen<br />
notwendig, um <strong>Performance</strong>-Engpässe<br />
Sonderdruck<br />
identifizieren zu können. Beispielsweise<br />
können zu klein gewählte Thread- und<br />
Datenbank-Connectionpools dazu<br />
führen, dass Benutzeranfragen in einer<br />
Warteschlange landen und sich die Verarbeitung<br />
verzögert. Aber auch Statistiken<br />
von Caches aus eigenen Komponenten<br />
oder Frameworks wie Hibernate [5] sind<br />
von Bedeutung, wenn ein Bottleneck in<br />
einer Anwendung gefunden oder Ressourcen-Engpässe<br />
in Produktion frühzeitig<br />
identifiziert werden sollen. Mit der <strong>Java</strong><br />
Management Extension (JMX) steht eine<br />
ausgereifte Spezifikation zur Verfügung,<br />
die eine Überwachung von Applikationen<br />
und Services einfach möglich macht.<br />
TM<br />
Das neue Portal für <strong>Java</strong>, Enterprise Architekturen , SOA.<br />
Anzeige<br />
NEU!<br />
Sonderdruck<br />
www.jaxenter.de