3. Profildefinitionen
Windows Performance Recorder(WPR)-Aufzeichnungsprofile werden in einer XML-Datei mit der Erweiterung „.wprp“ gespeichert. Profildefinitionen fassen die Collector- und Anbieterdefinitionen in der .wprp-Datei zusammen.
Profiles
Sie definieren ein WPR-Profil mithilfe (<Profile> … </Profile>
von XML-Tags, die auf Sammlungs- und Anbieterdefinitions-XML-Tags verweisen, die Sie entweder in derselben WPRP-Datei oder mithilfe der Vererbung in einer anderen WPRP-Datei definieren. Jedes XML-Tag für die Profildefinition muss über die folgenden Attribute verfügen:
ID: Eindeutiger Bezeichner der Profildefinition. Verwenden Sie die folgende Profilbezeichnererstellung:
< Name>.<DetailLevel>.<LoggingMode>.
Name: Zeichenfolge, die den Namen des Profils angibt.
DetailLevel: Attribut, das angibt, ob eine Profildefinition für die Zeitablaufverfolgung (Light) oder Analyseablaufverfolgung (Verbose) verwendet wird.
LoggingMode: Attribut, das angibt, ob die Profilereignisse zu einer sequenziellen Datei oder zu Zirkelspeicherpuffern protokolliert. Alle Profile müssen sowohl über eine Datei als auch über eine Speicherversion in derselben WPRP-Datei verfügen.
Beschreibung: Textuale Beschreibung des Profils, das der Benutzer sieht.
WPR unterstützt die Leistungsaufzeichnung sowohl für Datei- als auch für Speicherprotokollierungsmodi für jede WPRP-Datei mit Ausnahme von On/Off-Profilen. Sie müssen Profile bei einer Datei anmelden/deaktivieren, müssen jedoch sowohl eine Datei als auch eine Speicherversion definieren. Da eine einzelne Profildefinition nur einen Protokollierungsmodus unterstützen kann, kann es zwei oder vier Profildefinitionen in einer WPRP-Datei geben, eine für jede Kombination aus Protokollierungsmodus und Detailebene. Alle Profildefinitionen in einer einzelnen WPRP-Datei müssen dasselbe Name-Attribut aufweisen.
< Name>.<DetailLevel>.<LoggingMode>
Das folgende Codebeispiel zeigt Beispiel1.wprp an. Diese Datei enthält zwei Profildefinitionen. Die Auslassungspunkte (...) stellen den Körper des Profils dar.
<Profile
Id="Example1.Verbose.File"
Name="Example1"
DetailLevel="Verbose"
LoggingMode="File"
Description="Example1 profile">
…
</Profile>
<Profile
Id="Example1.Verbose.Memory"
Name="Example1"
DetailLevel="Verbose"
LoggingMode="Memory"
Description="Example1 profile">
…
</Profile>
Das folgende Codebeispiel zeigt Beispiel2.wprp an. Diese Datei enthält vier Profildefinitionen. Die Auslassungspunkte (...) stellen den Körper des Profils dar.
<Profile
Id="Example2.Verbose.File"
Name="Example2"
DetailLevel="Verbose"
LoggingMode="File"
Description="Example2 profile">
…
</Profile>
<Profile
Id="Example2.Light.File"
Name="Example2"
DetailLevel="Light"
LoggingMode="File"
Description="Example2 profile">
…
</Profile>
<Profile
Id="Example2.Verbose.Memory"
Name="Example2"
DetailLevel="Verbose"
LoggingMode="Memory"
Description="Example2 profile">
…
</Profile>
<Profile
Id="Example2.Light.Memory"
Name="Example2"
DetailLevel="Light"
LoggingMode="Memory"
Description="Example2 profile">
…
</Profile>
Collector-Element
Das Collector-Element enthält Verweise auf zuvor definierte System- und Ereignis-Collectors. Die Elemente SystemCollectorId und EventCollectorId identifizieren diese Collectors.
Jedes Element SystemCollectorId und EventCollectorIdenthält ein obligatorisches Value-Attribut, das das Id-Attribut des Collectors, der verwendet werden soll, angibt. Jedes SystemCollectorId- und EventCollectorId-Element enthält zudem eine Liste von entweder SystemProviderId- oder EventCollectorId-Elementen. Diese Elemente haben eine ähnliche Syntax. Diese Elemente beziehen sich jedoch auf zuvor definierte System- und Ereignisanbieter.
Sie können auch Collectors und Anbieter innerhalb der Profildefinition definieren.
Beispiel für die Profildefinition
Das folgende Codebeispiel zeigt eine vollständige Profildefinition.
<Profile
Id="Example.Light.File"
Name="Example"
DetailLevel="Light"
LoggingMode="File"
Description="Example profile">
<ProblemCategories>
<ProblemCategory
Value="First Level Triage"/>
</ProblemCategories>
<Collectors>
<SystemCollectorId
Value="WPRSystemCollector">
<!--Enables the system provider for this system collector. -->
<SystemProviderId
Value="system-provider"/>
</SystemCollectorId>
<EventCollectorId
Value="WPREventCollector">
<EventProviders>
<!--Enables two event providers for this event collector. -->
<EventProviderId
Value="Win32K-provider"/>
<EventProviderId
Value="Search-Core-provider"/>
</EventProviders>
</EventCollectorId>
</Collectors>
</Profile>
Zugehörige Themen
Erstellen von Aufzeichnungsprofilen