Freigeben über


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>

Erstellen von Aufzeichnungsprofilen

2. Definitionen für System- und Ereignisanbieter

Protokollierungsmodus

Detailstufe

ProblemCategories

SystemCollectorId

HeapEventProviderId