Objekt- und Leistungsindikatorentwurf
Ein Leistungsobjekt ist eine Entität, für die Leistungsdaten verfügbar sind. Leistungsindikatoren definieren den Datentyp, der für ein Leistungsobjekt verfügbar ist. Eine Anwendung kann Informationen für mehrere Leistungsobjekte bereitstellen. Leistungsobjekte können entweder einzelne instance Oder mehrere instance Leistungsindikatoren enthalten. Ein einzelnes instance -Objekt gibt einen einzelnen Satz von Zählerwerten zurück.
Ein objekt mit mehreren instance gibt für jedes Vorkommen des Objekts, das von der Anwendung gesteuert wird, eine instance des Objekts zurück. Beispielsweise könnte eine SCSI-Anwendung ein Laufwerkobjekt mit zwei Leistungsindikatoren definieren, z. B. Gelesene Bytes und Geschriebene Bytes. Wenn der Consumer das Objekt abfragt, gibt die Leistungs-DLL einen instance des Objekts für jedes Laufwerk zurück, das die Anwendung steuert.
Nachdem Sie entschieden haben, ob Ihr Objekt eine einzelne instance oder mehrere Instanzen unterstützt, müssen Sie sich für den Typ der Leistungsindikatoren entscheiden, die das Objekt bereitstellen soll. Beispielsweise können Sie Zählerwerte angeben, die als Rohwerte, als Raten oder als Prozentwerte angezeigt werden.
Eine Liste der vordefinierten Leistungsindikatortypen, aus denen Sie auswählen sollten, finden Sie im Abschnitt Leistungsindikatorentypen des Windows Server 2003 Deployment Kit. Je nach Indikatortyp können Sie einfach die Rohdaten angeben, oder Sie müssen möglicherweise auch Zeit- und Häufigkeitsinformationen und zusätzliche Zählerdaten bereitstellen, die vom Consumer zum Berechnen eines anzeigebaren Werts verwendet werden.
Die Methode, die Sie zum Sammeln der Daten verwenden, kann so einfach sein, wie das Inkrementieren eines Zählers bei jedem Aufruf einer bestimmten Routine in der Anwendung oder zeitaufwändige Berechnungen. Indikatoren und Timer sollten inkrementiert und niemals gelöscht werden. Zähler können umschließen, solange sie nicht zweimal zwischen der Stichprobenentnahme durch den Verbraucher umschließen. Ihre Anwendung kann Daten während der normalen Ausführung sammeln und speichern, sofern dies die Leistung nicht beeinträchtigt.
Bei einigen Datentypen kann es effizienter oder zweckmäßiger sein, die Daten bei Bedarf zu sammeln. In diesem Fall muss die Leistungs-DLL der Anwendung mitteilen, dass die Daten angefordert wurden. Für Daten, die teuer zu sammeln sind (in Bezug auf Prozessorzeit oder Arbeitsspeicherauslastung), sollten Sie daten nur erfassen, wenn der Consumer kostspielige Daten anfordert . Dies ermöglicht es einem Consumer, routinemäßig Daten für alle Leistungsindikatoren anzufordern, die nicht kostenintensiv sind. Die Daten können nur bei Bedarf angefordert werden. Das Leistungstool sammelt keine kostspieligen Daten.