ARM-Transaktionen

Jeder zu messende Teilabschnitt wird vom ARM-Standard als Transaktion (unit of work) bezeichnet. Im einfachsten Fall wird nur eine Transaktion gestartet und wieder gestoppt. Dies wird jedoch nicht der Regelfall sein. Gerade in verteilten Anwendungen besteht oft die Notwendigkeit, eine Messung, z.Bsp. ein entfernten Methodenaufruf eines Clients zu einem Server, in mehrere zu messende Teilabschnitte aufzuspalten, da man ja nicht nur an der reinen Antwortzeit interessiert ist, sondern auch an bestimmten Teilabschnitten im Server bzw. an der Übertragungszeit im Netzwerk. Man erhält dadurch eine Hierarchie von Transaktionen. Jeder dieser Transaktionen ist ein Correlator zugeordnet. Anhand diesem ist eine einzelne Transaktion eindeutig identifizierbar. Man kann die einzelnen Transaktionen mit Hilfe des Correlators in Relation zueinander setzen. Der Correlator der Vater-Transaktion wird der Kind-Transaktion mitübergeben. Ebenso wird der Correlator der Vater-Transaktion der ARM-Bibliothek übergeben. Die ARM-Bibliothek kennt somit den Vater-Correlator und den Correlator der aktuellen Transaktion. Sie bildet daraus (Vater-Correlator, Kind-Correlator) Tupel. Die Managment Architektur kann dann den Aufrufbaum in der korrekten Reihenfolge wieder herstellen. Es können somit Aussagen darüber getroffen werden, an welcher Stelle die Anwendung zu lange braucht, wo sie hängt und viele weitere.
Thomas Termin 2005-02-24