![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Beispiel: Angepasstes PMI implementieren
Die folgende Abbildung zeigt die Custom-PMI-Umgebung:

Sie müssen die folgenden Schritte ausführen, um eine Anwendung mit Custom PMI zu instrumentieren:
- Schablone für Stats-Modul definieren. Für die Definition der Statistiken für eine bestimmte Anwendungskomponente wird ein XML-Dokument verwendet. Das XML-Dokument wird als Schablone für die Erstellung der PMI-Daten verwendet. Das XML-Dokument muss mit der DTD WAS_HOME/plugins\com.ibm.ws.runtime.jar\com\ibm\websphere\pmi\xml\perf.dtd konform sein.
- Erstellen Sie mit StatsFactory ein Stats-Objekt. Die StatsFactory
wird verwendet, um eine Instanz (StatsInstance) oder Gruppe (StatsGroup) der Stats-Schablone
zu erstellen. Das StatsInstance-Objekt ist eine Instanz der Stats-Schablone und enthält
alle in der Schablone definierten Statistiken. Die StatsGroup ist eine logische Sammlung ähnlicher Stats-Instanzen.
Custom PMI bietet die Flexibilität, die Gruppen und Instanzen in einer Baumstruktur anzuordnen.
Die vorherige Abbildung zeigt zwei Instanzen von Aktienhandelsanwendungen, die in einer Gruppe StockAppStats zusammengefasst sind. Die Gruppe StockAppStats kann mehrere Anwendungen für den Aktienhandel haben, und jede Instanz einer Anwendung für den Aktienhandel kann eine Gruppe StockBroker haben. In diesem Fall fasst die Gruppe StockAppStats die Statistiken für StockApp1 und StockApp2 und die Gruppe StockBroker die Statistiken aller StockBroker-Instanzen in den jeweiligen Gruppen zusammen.
- Anwendung durch Aktualisieren des Stats-Objekts instrumentieren. Für die Instrumentierung muss die Anwendung das Stats-Modul für den PMI-Service aufrufen, das die unaufbereiteten Zahlen verwaltet. Wenn Sie beispielsweise die von der Anwendung für den Aktienhandel verarbeitete Anzahl von Verkäufen (NumSells) instrumentieren möchten, erstellen Sie ein Stats-Modul mit dem Statistiktyp CountStatistic. Erhöhen Sie die Statistik für die Anzahl der Verkäufe durch Aufruf von NumSellsCountStatistic.increment () um jeweils eins, sobald eine Verkaufstransaktion verarbeitet wird.