Sie können Ihre Anwendung aktualisieren, um Methoden aufzurufen, die mit einer Stats/PMI-Schablone (Performance Monitoring Infrastructure), einem Ressourcenpaket, einer Stats/PMI-Komponente und Methoden zum Aktualisieren von angepasster Statistik definiert wurden.
Informationen zu diesem Vorgang
Sie können Ihre Anwendung aktualisieren, um Methoden aufzurufen, die mit einer Stats/PMI-Schablone (Performance Monitoring Infrastructure), einem Ressourcenpaket, einer Stats/PMI-Komponente und Methoden zum Aktualisieren von angepasster Statistik definiert wurden. Der folgende Prozess ist erforderlich, um eine Komponente zu instrumentalisieren, die eine angepasste PMI verwendet:
- Definieren Sie eine Stats/PMI-Schablone (XML-Datei).
- Definieren Sie ein Ressourcenpaket (Eigenschaftendatei).
- Definieren Sie die Stats/PMI-Komponente und erstellen Sie das Stats/PMI-Objekt mit StatsFactory.
- Definieren Sie Methoden, die Ihre Anwendung verwendet wird, um angepasste Statistik zu aktualisieren.
- Aktualisieren Sie Ihre Anwendung so, dass die (im Schritt oben definierten) Methoden ordnungsgemäß aufgerufen werden.
- Rufen Sie die Anwendung auf.
- Stellen Sie die Verbindung zu Tivoli Performance Viewer (TPV) her und zeigen Sie die angepasste PMI-Statistik an.
Vorgehensweise
- Definieren Sie die Stats/PMI-Schablone. Statsfactory
ermöglicht eine Laufzeitkomponente zum Erstellen eines angepassten Stats/PMI-Moduls mittels einer XML-Schablone. Die Schablone basiert auf DTD com/ibm/websphere/pmi/xml/stats.dtd.
Im Folgenden sehen Sie ein Beispiel für eine Schablone, die in einer Beispielanwendung verwendet wird.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Stats SYSTEM "stats.dtd">
<Stats type="com.stats.MyStats">
<description>MyStats.desc</description>
<resourceBundle>com.stats.MyStatsResourceBundle</resourceBundle>
<CountStatistic ID="1" name="MyStats.NumRequests">
<level>low</level>
<unit>MyStats.unit.none</unit>
<description>MyStats.NumRequests.desc</description>
<statisticSet>basic</statisticSet>
</CountStatistic>
<BoundedRangeStatistic ID="2" name="MyStats.expensiveStat ">
<level>high</level>
<unit>MyStats.unit.none</unit>
<description>MyStats.expensiveStat.desc</description>
<updateOnRequest>true</updateOnRequest>
</BoundedRangeStatistic>
</Stats>
- Definieren Sie das Ressourcenpaket. Mit dem Ressourcenpaket können Sie den Namen der Statistik und ihre Beschreibung in Klartext definieren. Ein Ressourcenpaket kann beispielsweise so aussehen:
MyStats.desc=PMI-Komponente für meine Ansicht
MyStats.NumRequests=Anforderungszähler
MyStats.NumRequests.desc=Bereitgestellte Anforderungen für meine Ansicht insgesamt.
MyStats.unit.none=Ohne
MyStats.expensiveStat = Kostenintensiv Stat
MyStats. expensiveStat.desc = Anzahl von Statistiken "Kostenintensiv"
MyStats.Group= Meine Gruppe
MyStats.Instance=Meine Instanz
- Definieren Sie die Stats/PMI-Komponente und erstellen Sie das Stats/PMI-Objekt mit StatsFactory.
- Erstellen Sie eine Klasse, die StatisticActions erweitert.
public class MyStatisticsModule extends StatisticActions
- Deklarieren Sie Zählvariablen vom Typ SPI*, z. B. SPICountStatistc
und SPIBoundedRangeStatistic.
private SPICountStatistic numReqs;
private SPIBoundedRangeStatistic expensiveStat;
- Erstellen Sie eine Statistikgruppe vom Typ "StatsGroup" und eine Statistikinstanz vom Typ "StatsInstance".
private static StatsGroup stocksStatisticsGroup = null;
private StatsInstance stocksStatistics = null;
MyStatisticsGroup = StatsFactory.createStatsGroup("MyStats.Group", template, null);
MyStatistics = StatsFactory.createStatsInstance("MyStats.Instance”,MyStatisticGroup,null,this);
Die Schablone
ist der Pfad in der Anwendung, in dem sich die Datei befindet, z. B.
String template = "/com/stats/MyStats.xml";
- Nachdem die Statistik in der StatsInstance erstellt ist, wird statisticCreated aufgerufen,
um anzuzeigen, dass eine Statistik in der Stats-Instanz erstellt wurde.
Sie können die oben deklarierte Statistik der entsprechenden Statistik zuordnen. Beispiel:
public void statisticCreated (SPIStatistic s) {
// Wird aufgerufen, wenn die Statistiken in der Statistikinstanz erstellt werden
if (s.getId() == MyStats.NUMREQS)
{
numReqs = (SPICountStatistic)s; // Statistik zuordnen
}
}
- Definieren Sie Methoden, die Ihre Anwendung verwendet wird, um angepasste Statistik zu aktualisieren.
public void onRequestArrival(){
if (numReqs != null)
{
numReqs.increment(); // Statistikdaten gemäß Anforderung erhöhen/verringern
}
}
- Sie können auch die Methode updateStaisticRequest implementieren, um Statistik zu einer bestimmten Anforderung des Clients oder einer anderen Überwachungsanwendung zu aktualisieren.
public void updateStatisticOnRequest (int dataId) {
if (dataId == MyStats.expensiveStat)
{
expensiveStat.set(xxxxx);
}
}
Im Beispiel oben ist dataId die ID der zu aktualisierenden Statistik.
- Aktualisieren Sie Ihre Anwendung so, dass die (in den Schritten oben definierten) Methoden ordnungsgemäß aufgerufen werden.
- Rufen Sie die Anwendung auf.
- Stellen Sie die Verbindung zu Tivoli Performance Viewer (TPV) her und zeigen Sie die angepasste PMI-Statistik an.
Fehler vermeiden: Wenn eine angepasste PMI in einer Netzimplementierungsumgebung implementiert wird, können Sie die
angepassten PMI-Zähler möglicherweise nicht
anzeigen, weil die Datei "Stats/PMI.xml" und die Eigenschaftendatei des Ressourcenpakets im Klassenlader
von WebSphere Application Server nicht sichtbar sind. Die
Datei "Stats/PMI.xml" und die Eigenschaftendatei des Ressourcenpakets befinden sich in der Anwendung. Um die angepassten PMI-Zähler
anzeigen zu können, müssen Sie die Datei "Stats/PMI.xml" und die Eigenschaftendatei des Ressourcenpakets in den Klassenpfad stellen.
Sie können
die PMI-Zähler sichtbar machen,
indem Sie eine JAR-Dateien mit der folgenden Dateistruktur der Datei "Stats/PMI.xml" und der Eigenschaftendatei des Ressourcenpakets erstellen
und in den Ordner
WAS_HOME\lib\ext stellen. Die angepassten PMI-Zähler sind dann für den Klassenlader sichtbar.
com/ibm/app/temp/tempstats.xml --- Pfad der Datei "Stats/PMI.xml"
com/ibm/app/temp/resourcebundle.props --- Pfad der Eigenschaftendatei des Ressourcenpakets
gotcha