
JARM steht für Java Application Responsetime Measurement und wird im Wesentlichen dazu verwendet, Java-Applikations-Requests zu vermessen. Dazu wird der Java-Code einer Applikation so instrumentiert, dass er dann später zur Laufzeit vermessen werden kann. Da die Instrumentierung ein Teil der Applikation ist, können die instrumentierten Teile auch in Produktionssystemen vermessen werden. Dies kann dem Entwickler später bei der Fehlersuche oder Performanceanalyse helfen.
JARM stellt eine Java-API zur Verfügung, das sich in folgende Teile gliedert: Code-Instrumentierung, Übersicht der Ergebnisse und Konfiguration. Die zwei letzten Teile der API können fast vollständig über die VMC Systemadministration (Transaktion SM53) bedient werden.
Instrumentierung
Die Instrumentierung im JARM basiert auf folgenden Definitionen:
Ein JARM-Request ist das Objekt, das vermessen wird. Er wird in einem Thread ausgeführt, das Verschachteln von Requests im selben Thread ist verboten.
Ein JARM-Request besteht aus Komponenten, welche die zu verwendenden Einheiten darstellen. Im Gegensatz zu Requests können Komponenten verschachtelt werden. Um die zu vermessenden Codestrecken verständlich zu halten und Monitoring-Overhead klein zu halten, sollte die Granularität nicht zu fein gewählt werden.
Jede Komponente kann verschiedene Aktionen beinhalten. Eine Aktion ist ein String, der die Aktivität in der Komponente beschreibt und im Trace herausgeschrieben wird.
Folgende Grafik zeigt schematisch den Unterschied zwischen Requests (R1, R2,...) und Komponenten (C1, C2,...) in einem Java-Programm.

In diesem Beispiel werden zwei Requests vermessen: Request R1, der zuerst die mathematische Berechnung und dann das Erzeugen des neuen Threads und seinen Code bis zum join beinhaltet. Request R2 besteht nur aus der run-Funktion, die eine for-Schleife (c4) beinhaltet. R1 beinhaltet dann die Komponenten c1 (die while-Schleife) und c2, die Komponente c1 enthält ihrerseits n-mal die Komponente c3 (die mathematische Funktion).
Übersicht über die Messergebnisse
In der VMC Systemadministration (SM53) können Sie sich die Messergebnisse anzeigen.
Konfiguration
Die JARM-Konfiguration kann für die aktuelle Instanz zur Laufzeit definiert bzw. verändert werden. Unter der Verwendung der SM53 kann JARM-Konfiguration per Mausklick gesetzt werden. Informationen dazu finden Sie unter JARM-Einstellungen anzeigen und ändern.