Der Flugdatenschreiben

GraalVM: Preview-Version des JDK Flight Recorders in VisualVM

Katharina Degenmann

© Shutterstock /kletr

Eine Vorschau-Version des JDK Flight Recorder wurde als Plug-in für das VisualVM-Tool veröffentlicht. Das Plug-in liest alle JFR-Snapshots, die mit Java 7 oder neuer erstellt wurden und präsentiert die Daten in typischen VisualVM-Ansichten.

Der JDK Flight Recorder (JFR, früher Java Flight Recorder) ist ein Werkzeug zum Sammeln von Diagnose- und Profildaten einer laufenden Java-Anwendung. Er ist in die Java Virtual Machine (JVM) integriert und verursacht nahezu keinen Performance-Overhead, so dass er auch in belasteten Produktionsumgebungen eingesetzt werden kann.

Graal VM 19.2

Seit Java 9 ist auch die VisualVM Teil der GraalVM. Entwickler, die beide Tools verwenden, haben ab GraalVM 19.2 auch die Möglichkeit, den JDK Flight Recorder (JFR) einzusetzen. Damit werden alle Events sichtbar, die zu einem bestimmten Zeitpunkt in der JVM oder der Anwendung selbst stattfinden.

JDK Flight Recoder in VisualVM

Der JDK Flight Recoder hat in VisualVM einige Features im Gepäck, die Entwicklern das Sammeln von Diagnose- und Profildaten während einer laufenden Java-Anwendung erleichtern sollen.

So zeigt der Overview Tab beispielweise eine Übersicht über die grundlegenden Informationen zum aufgezeichneten Prozess, inklusive Hauptklasse, Parameter, JVM-Version und Konfiguration sowie Systemeigenschaften. Ebenso ermöglicht das Tab Zugriff auf die aufgezeichneten Thread-Dumps. Mithilfe des Monitor Tabs lassen sich die Betriebszeit des Prozesses und die Telemetrie – CPU-Auslastung, Heap- und Metaspace-Auslastung, Anzahl der geladenen Klassen und Anzahl der aktiven und gestarteten Threads – anzeigen. Das Threads Tab rekonstruiert die Thread-Zeitachse, basierend auf allen im Snapshot aufgezeichneten Ereignissen.

Während das File IO Tab Informationen über Lese- und Schreibereignisse im Dateisystem enthält, zeigt das Socket IO Tab Informationen über Lese- und Schreibereignisse im Netzwerk an. Das Sampler Tab erstellt eine Übersicht über die CPU-Auslastung und Speicherzuweisungen pro Thread sowie ein Heap-Histogramm. Zudem gibt es eine experimentelle Funktion „CPU-Sampler“, die einen CPU-Schnappschuss von den aufgezeichneten Ereignissen erstellt.

Überdies existiert ein Browser Tab, das einen generischen Browser mit allen im Snapshot aufgezeichneten Ereignissen zur Verfügung stellt. Das Environment Tab ermöglicht einen Überblick über die Einrichtung und den Zustand des Speichermediums wie CPU-Modell, Speichergröße, Betriebssystemversion, CPU-Auslastung, Speichernutzung usw. Die Aufnahmeeinstellungen sowie die Snapshot-Telemetrie, also Anzahl der Ereignisse, Gesamtaufnahmezeit usw., werden vom Recording Tab erfasst.

Weitere Informationen

Einige erweiterte Funktionen wie die Analyse von JVM-Internals, die Anzeige von Event-Stack-Traces oder die Unterstützung für die Erstellung von JFR-Snapshots aus Live-Prozessen sind in der Preview-Version nicht verfügbar aber sollen in den kommenden Releases schrittweise folgen.

Aktivieren lässt sich die Unterstützung für den Flight Recorder, indem man die VisualVM startet (%GRAALVM_HOME/bin/jvisualvm) und anschließend im Menü Tools | Plugins | Available Plugins öffnet, um alle verfügbaren Plugins aufzulisten und die Module VisualVM-JFR und VisualVM-JFR-Generic zu installieren.

Alle weitern Informationen zur Preview-Version des JDK Flight Recoders in der VisualVM stehen auf dem Medium-Blog zum Nachlesen bereit.

Verwandte Themen:

Geschrieben von
Katharina Degenmann
Katharina Degenmann
Katharina Degenmann hat Politikwissenschaft und Philosophie studiert. Seit Februar 2018 arbeitet sie als Redakteurin bei der Software & Support Media GmbH und ist nebenbei als freie Journalistin tätig.
Kommentare

Hinterlasse einen Kommentar

2 Kommentare auf "GraalVM: Preview-Version des JDK Flight Recorders in VisualVM"

avatar
4000
  Subscribe  
Benachrichtige mich zu:
Bughunter
Gast

Der JDK Flight Recorder Link ist defekt. Bitte die ( in der URL entfernen. 😉