1. Definitionen für Collector
Windows Performance Recorder (WPR) unterstützt derzeit drei Arten von Sammlern: Systemsammler, Ereignissammler und Heap-Ereignissammler. Die Systemsammlerdefinition gibt Puffergrößen und andere Attribute für Ereignisablaufverfolgung für Systemprotokolliersitzungen für Windows (ETW) an, die zusammen mit dem NT Kernel Logger zusammenarbeiten. Ereignis- und Heapsammlerdefinitionen geben Puffergrößen und andere Attribute für ETW-Benutzersitzungen an.
Die Sammeldefinitionsreihenfolge wird durch das WPR-Schema eingeschränkt. In der WPRP-Datei müssen Systemsammlerdefinitionen den Ereignissammlerdefinitionen vorangehen. Diese Definitionen müssen sowohl der Heapsammlerdefinition vorangehen (wenn eine Heapsammlerdefinition vorhanden ist). Das WPR-Schema wird im WPRControlProfiles-Schema definiert.
Sammler-Attribute
Sammler weisen die folgenden obligatorischen Attribute auf:
ID: Eindeutiger Zeichenfolgenbezeichner, der auf die Sammeldefinition in der WPRP-Datei verweist.
Name: Name des Sammlers; Beispiel: „WPR Collector“. Der Name des Systemsammlers muss „NT Kernel Logger“ sein.
Sammeldefinitionen müssen die folgenden Puffergrößendefinitionen enthalten:
BufferSize: Gibt die Größe eines einzelnen Puffers in Kilobyte (KB) an.
Buffers: Gibt die Anzahl der Puffer an, oder gibt an, ob das Attribut „PercentageOfTotalMemory“ auf „true“ festgelegt ist, den Prozentsatz des Gesamtspeichers, der zum Puffern verwendet werden soll.
Weitere Informationen zu Puffern finden Sie im Protokollierungsmodus.
Sammlungsdefinitionsbeispiele
Das folgende Codebeispiel zeigt eine Systemsammlerdefinition und eine Ereignissammlerdefinition.
<SystemCollector
Id="WPRSystemCollector"
Name="NT Kernel Logger"
FileName="WPRKernel.etl">
<BufferSize
Value="512"/>
<Buffers
Value="3"
PercentageOfTotalMemory="true"/>
</SystemCollector>
<EventCollector
Id="WPREventCollector"
Name="WPR Event Collector"
FileName="somefilename.etl">
<BufferSize
Value="128"/>
<Buffers
Value="64"/>
</EventCollector>
<HeapEventCollector
Id="Base_Heap_Collector"
Name="Base Heap Collector"
FileName="heap.etl">
</HeapEventCollector>
Vererbungsbeispiele
Windows Performance Recorder unterstützt die Vererbung seiner Objekte mithilfe des Attributs Base=""
im WPR-Profil-XML-Schema. Dadurch können Ergänzungen oder Spezialisierungen von Objekten schrittweise erstellt werden, während sie gemeinsame Definitionen wiederverwenden.
Unbeabsichtigte Komplexität und Nebenwirkungen können in bestimmten Szenarien auftreten; In diesem Abschnitt werden Beispiele und empfohlene bewährte Methoden beschrieben.
Beispiel 1
Wenn ein Profil A den Ereignissammler Sammler A mit einigen Änderungen verwenden möchte, kann es einen Sammler A2 definieren, der von Sammler A (Base="Sammler A") abgeleitet wird, und dann auf diesen Sammler A2 verweisen. Dies wird empfohlen, da nur das Sammelobjekt von einem anderen Sammelobjekt abgeleitet wird und direkt darauf verwiesen wird.
Beispiel 2
Ein Profil A verweist auf einen Sammler A. Ein anderes Profil B erfordert Änderungen an Profil A, sodass es von ihm abgeleitet wird, und gibt seine Änderungen direkt in seiner Definition an. Dies wird empfohlen, da nur das Profilobjekt von einem anderen Profilobjekt abgeleitet wird.
Beispiel 3
Ein Profil A verweist auf einen Sammler A. Ein Sammler A2 abgeleitet von Sammler A. Schließlich leitet das Profil B sowohl von Profil A ab als auch auf Sammler A zurück, auf den bereits im übergeordneten Profil von Profil B verwiesen wird.
In diesem Fall ist es mehrdeutig, wie die Definition für Sammler A2 ausgewertet werden soll. In einem Fall hat die Profilableitung Vorrang, und in einem anderen fall hat die Ableitung des Sammlers Vorrang. Dies wird nicht empfohlen, da die Sortierung nicht definiert ist und zu unterschiedlichen Ergebnissen führen kann, die auf der Reihenfolge der Vorgänge basieren.
Auf dieser Grundlage sollten Sie die Ableitungen niemals über mehrere Arten von Objekten hinweg kombinieren.
Zugehörige Themen
Erstellen von Aufzeichnungsprofilen