Befehlszeilenoptionen für Windows Performance Recorder

Windows Performance Recorder (WPR) bietet eine einfache Befehlszeilenschnittstelle. Die ganze Komplexität von WPR ist in die Aufzeichnungsprofile eingebettet.

Allgemeine Optionen

WPR erfordert Windows 8.1 oder eine höhere Version des Betriebssystems.

Syntax

wpr FirstLevelOption [<arguments>] [Additional options [<arguments>]]

Zusätzliche Hilfe erhalten Sie mit:

wpr -help [start | stop | status | profiles | providers | tracing | boottrace | heap | hardwarecounter | advanced]

Die folgenden FirstLevelOptions sind verfügbar:

Option BESCHREIBUNG
-help Gibt eine Liste mit Hilfeinformationen auf der Unterebene zurück.
-profiles Listet die Profilnamen und Beschreibungen aus einem Profil auf.
-purgecache Löscht den Cache mit den dynamischen Symbolen.
-start Startet mindestens ein Profil.
-marker Löst einen Ereignismarker aus.
-markerflush (Veraltet) Löst eine Ereignismarkierung aus und leert den Arbeitssatz.
-status Zeigt den Status einer aktiven Aufzeichnung an (sofern vorhanden).
-profiledetails Löst einen Ereignismarker aus und löscht den Arbeitssatz.
-exportprofile Exportiert ein integriertes Profil in eine Datei.
-providers Zeigt detaillierte Informationen zu Anbietern an.
-cancel Bricht die von WPR initiierte Aufzeichnung ab (sofern vorhanden).
-stop Bricht die von WPR initiierte Aufzeichnung ab (sofern vorhanden) und speichert sie.
-merge Führt ETL-Dateien in der angegebenen Datei zusammen.
-flush Löscht die von WPR initiierten Protokollierungssitzungen (sofern vorhanden).
-log Konfiguriert die Debuginformationen, die im Ereignisprotokoll gespeichert werden.
-disablepagingexecutive Ändert die Einstellungen in Auslagerungsausführung deaktivieren.
-heaptracingconfig Ändert die Einstellungen für die Heapablaufverfolgung eines Prozesses.
-snapshotconfig Ändert Momentaufnahmeeinstellungen eines Prozesses.
-capturestateondemand Erfasst die Zustände der konfigurierten Anbieter in der aktuellen Aufzeichnung.
-pmcsources Fragt die Liste der PMU-Ereignisse ab, die im System verfügbar sind.
-pmcsessions Fragt die Liste der Sitzungen ab, die PMU-Ereignisse verwenden.
-setprofint Legt das Profilintervall für Stichproben fest.
-profint Fragt das aktuelle Profilintervall ab.
-resetprofint Stellt die Standardwerte für das Profilintervall wieder her.
-boottrace Konfiguriert die Registrierungseinträge für Sitzungen mit automatischer/globaler Protokollierung.
-enableperiodicsnapshot Aktiviert regelmäßige Momentaufnahmen für das angegebene Intervall und die angegebene Prozess-ID.
-disableperiodicsnapshot Deaktiviert regelmäßige Momentaufnahmen für alle Prozesse.
-singlesnapshot Ruft eine bedarfsgesteuerte Momentaufnahme für den angegebenen Prozess ab.

Profiles

Die Option Profiles listet die WPR-Profile auf, die bei der Aufzeichnung verwendet werden.

Syntax

wpr -profiles [<path>]

In der folgenden Tabelle werden die verfügbaren Argumente beschrieben, die Sie auf diese Option anwenden können. Um die integrierten Profile anzuzeigen, lassen Sie das Argument aus.

Argument Beschreibung
<path> Gibt den Pfad und den Namen der Datei an, die die Profildefinitionen enthält. Beispiel:

wpr -profiles “c:\Users\User1\Documents\WPR Files\Custom Profiles\CustomProfile1.wprp”

Start

Die Option Start startet eine Aufzeichnung mit mindestens einem Profil.

Syntax

wpr -start <profile> [-start <profilen>]... [-filemode] [-recordtempto <temp folder path>] [-onoffscenario <OnOff Transition Type>] [-onoffresultspath <path to which the trace files are saved>] [-onoffproblemdescription <description of the scenario>] [-numiterations <number of iterations for OnOff tracing>]

In der folgenden Tabelle werden die verfügbaren Schalter beschrieben, die Sie auf diese Option anwenden können.

Schalter BESCHREIBUNG
<profile> [-start<profilen>]... Gibt entweder ein integriertes Profil oder den Pfad zu einem benutzerdefinierten Profil an. Sie können auf einer einzelnen Befehlszeile bis zu 64 Profile angeben, wobei jedes Profil wie folgt angegeben wird:

<profile> := [<filename.wprp>!]<profile name>[.{light|verbose}]

Für jedes Profil kann eine eingeschränkte und/oder ausführliche Versionen definiert werden. Wenn keine Option angegeben ist, wird die ausführliche Version verwendet, es sei denn, das Profil enthält nur eine eingeschränkte Version.
-shutdown [<KSR>] Gibt an, dass Sitzungsinformationen und Aufzeichnungen über einen Neustart hinaus beibehalten werden. Die Option „shutdown“ funktioniert nur bei der Ablaufverfolgung im Dateimodus, während KSR nur im Speichermodus funktioniert. Rufen Sie beim nächsten Start den Befehl „-stop“ auf, um die Ablaufverfolgung zusammenzuführen.
-filemode Gibt an, dass die Aufzeichnung im Dateimodus erfolgt. (Standard ist der Speichermodus.) Mit dieser Option werden die Daten in einer ungebundenen Datei aufgezeichnet, die bis zur Größe des Datenträgers anwachsen kann.
-recordtempto<temp folder path> Gibt den Pfad zu dem temporären Ordner an, in dem die Aufzeichnung gespeichert wird.
-onoffscenario<OnOff Transition Type> Gibt einen der Ein/Aus-Übergangstypen an. Dies sind: Boot, FastStartup, Shutdown, RebootCycle, Standby oder Hibernate.
-onoffresultspath<path to which the trace files are saved> Gibt den Pfad an, unter dem die Ablaufverfolgungsdateien gespeichert werden.
-onoffproblemdescription<description of the scenario> Gibt die Beschreibung des Szenarios an.
-numiterations<number of iterations for OnOff tracing> Legt die Anzahl der Iterationen für die Ein/Aus-Aufzeichnung fest. Standardmäßig werden die Einstellungen aus der Datei mit dem integrierten oder benutzerdefinierten Profil verwendet.

Beispiel

wpr -start CPU (Starts verbose CPU profile in memory mode)
wpr -start CPU.light -filemode (Starts light CPU profile in file mode)
wpr -start filename.wprp!ProfileName.Verbose (Starts verbose ProfileName profile defined in filename.wprp)

Stop

Die Option Stop beendet die aktuelle Aufzeichnung und speichert sie in der Datei, die durch das Argument angegeben wird.

Syntax

wpr -stop <file> <problem description> -[skipPdbGen] [-force] [-compress]

In der folgenden Tabelle werden die verfügbaren Argumente beschrieben, die Sie auf diese Option anwenden können.

Argument Beschreibung
<file name> Gibt die ETL-Datei (Event Trace Log, Ereignisablaufverfolgungsprotokoll) an, in der WPR die Aufzeichnung speichert. Dieses Argument ist erforderlich.
<problem description> Gibt die Beschreibung des Problems an. Dieses Argument ist zwar optional, es wird jedoch empfohlen, es zu verwenden.
-skipPdbGen Deaktiviert die dynamische Generierung von NGEN und eingebetteten PDBs für .NET-Module. Mit dieser Option können Sie die Dauer des Beendigungsvorgangs verringern.
-force Deaktiviert die Warnung, wenn die Zieldateierweiterung nicht „.etl“ lautet.
-compress Komprimiert die Ausgabedatei der Ablaufverfolgung.

Zusammenführen

Die Option Merge führt ETL-Dateien in der angegebenen Datei zusammen.

Syntax

wpr -merge <trace files ...> <merged file> -[skipPdbGen] [-compress] [-supresspii] [-mergeonly] [-injectonly]

In der folgenden Tabelle werden die verfügbaren Argumente beschrieben, die Sie auf diese Option anwenden können.

Argument Beschreibung
<trace files ...> Gibt mindestens eine nicht zusammengeführte Ereignisablaufverfolgungsprotokolldatei (ETL) an. Dieses Argument ist erforderlich.
<merged file> Gibt die Ausgabedatei an, in der WPR die ETL-Dateien zusammenführt.
-skipPdbGen Deaktiviert die dynamische Generierung von NGEN und eingebetteten PDBs für .NET-Module. Mit dieser Option können Sie die Dauer des Beendigungsvorgangs verringern.
-compress Komprimiert die Ausgabedatei der Ablaufverfolgung.
-supresspii Unterdrückt personenbezogene Informationen (Personally Identifiable Information, PII).
-mergeonly Fügt die Ablaufverfolgungen zusammen, ohne computerspezifische Informationen oder Image-ID-Ereignisse hinzuzufügen. Es kann nicht mit „-injectonly“ zusammen verwendet werden.
-injectonly Generiert nur computerspezifische und/oder Image-ID-Ereignisse, ohne die ursprünglichen Ereignisse in die zusammengeführte Datei zu kopieren.

Abbrechen

Die Option Cancel bricht die aktuelle Aufzeichnung ab, ohne die aufgezeichneten Daten zu speichern. Wenn derzeit keine Instanz aktiv ist, gibt die Option Cancel einen Fehler zurück.

Syntax

wpr -cancel

Diese Option akzeptiert keine Argumente.

Status

Die Option Status zeigt Statusinformationen zur aktuellen WPR-Aufzeichnung an.

Syntax

wpr -status [profiles] [collectors [-details]]

Wenn derzeit keine Aufzeichnung aktiv ist, wird eine Meldung angezeigt, dass WPR nichts aufzeichnet. Wenn derzeit eine Aufzeichnung aktiv ist und keine Argumente übergeben wurden, werden die folgenden Statusinformationen angezeigt:

WPR recording is in progress...

Time since start        : 00:04:27

Dropped event           : 0

Logging mode            : Memory

Wenn Sie die Option -status mit Argumenten verwenden, werden die oben aufgeführten Informationen zusammen mit den Daten angezeigt, die für diese Option spezifisch sind. In der folgenden Tabelle werden die verfügbaren Argumente beschrieben, die Sie auf diese Option anwenden können.

Argument Beschreibung und Beispielausgabe
profiles Dieses Argument listet alle Profile auf, die in der aktuellen WPR-Aufzeichnung verwendet werden.

Beispiel:

Recording system activity using the following set of profiles: 

Profile : CPU.Verbose.Memory

collectors Listet Sammlerinformationen auf. Falls Puffer verloren gegangen sind, werden diese Puffer aufgelistet.

Beispiel:

Actively recording collectors: 

Collector Name : NT Kernel Logger Buffer Size (KB) : 1024 Events Lost : 0 System Keywords CSwitch ProcessThread SampledProfile System Stacks CSwitch SampledProfile

Collector Name : WPR_initiated_WPR Event Collector Buffer Size (KB) : 1024 Events Lost : 0 Providers Microsoft-Windows-Shell-Core: 0x1000000000000: 0x04 Microsoft-Windows-Win32k: 0x1000000402000: 0xff : Stack CaptureState Providers on Save Microsoft-Windows-Win32k: 0x80000: 0xff

details Listet zusätzliche Informationen zu jedem Sammler auf.

Profiledetails

Die Option Profiledetails zeigt ausführliche Informationen zu einem Profil oder einer Gruppe von Profilen an. Um mehrere Profile anzugeben, verwenden Sie die folgende Syntax, in der <profilen> für den Namen jedes Profils steht.

Syntax

wpr -profiledetails <profile1>+<profile2>+...+<profilen> [-filemode] -onoffscenario <OnOff Transition Type>

In der folgenden Tabelle werden die verfügbaren Schalter beschrieben, die Sie auf diese Option anwenden können.

Schalter BESCHREIBUNG
-filemode Gibt an, dass die Aufzeichnung im Dateimodus erfolgt ist. (Standard ist der Speichermodus.)
-onoffscenario<OnOff Transition Type> Gibt einen der Ein/Aus-Übergangstypen an. Dies sind: Boot, FastStartup, Shutdown, RebootCycle, Standby oder Hibernate.

ExportProfile

Die Option ExportProfile exportiert die integrierten Profile in die angegebene Datei. Verwenden Sie den Befehl wpr -Profiles, um die verfügbaren integrierten Profile aufzulisten. Um mehrere Profile anzugeben, verwenden Sie die folgende Syntax, in der <profilen> für den Namen jedes Profils steht. Die Namenskonvention der Profile ist mit der in wpr -start identisch. Ein Profil wird mit <profile name>[.{light|verbose}] angegeben.

Syntax

wpr -exportprofile <profile1>+<profile2>+...+<profilen> <ExportedFileName.wprp> [-filemode]

In diesem Beispiel wird das Dateimodus-Profil „GeneralProfile“ mit ausführlicher Ausgabe in die Datei „GeneralProfileVerboseFile.wprp“ exportiert.

Beispiel

wpr -exportprofile GeneralProfile d:\profiles\GeneralProfileVerboseFile.wprp -filemode

Anbieter

Die Option Providers zeigt ausführliche Informationen zu Anbietern an. Anbieter sind ETW-Komponenten (Ereignisablaufverfolgung für Windows), die Ereignisse für Windows Performance Recorder (WPR) verfügbar machen. Um Informationen zu Anbietern anzuzeigen, verwenden Sie die folgende Syntax, wobei -providers auf alle installierten/bekannten und registrierten Anbieter verweist.

Syntax

wpr -providers

Diese Option akzeptiert keine Argumente.

Boottrace

Die Option Boottrace konfiguriert die Registrierungseinträge für Sitzungen mit automatischer/globaler Protokollierung für das angegebene Profil.

Syntax

wpr -boottrace {-addboot [<filename.wprp>!]<profile> [-addboot <profile> ...] [-filemode] [-recordtempto <temp folder path>] | -stopboot <recording filename> <Problem description> | -cancelboot}

In der folgenden Tabelle werden die verfügbaren Schlüsselwörter beschrieben, die Sie auf diese Option anwenden können.

Argument Beschreibung
-boottrace Gibt an, dass mit dem folgenden Argument die automatische Protokollierung eingerichtet wird. In der aktuellen WPR-Version ist dieses Argument optional.
-addboot Legt die Registrierungseinträge für die automatische Protokollierung für das angegebene Profil fest. Der Befehl wpr -addboot verwendet dieselben Optionen wie der Befehl wpr -start. Beachten Sie, dass diese Optionen die Ablaufverfolgung nicht sofort starten. Nach dem Neustart wird die automatische Protokollierung vom Betriebssystem gestartet.
-stopboot Entfernt die automatische Protokollierung, die durch addboot konfiguriert wurde, beendet die Startaufzeichnung und führt alle Aufzeichnungen in der angegebenen Datei zusammen. Beachten Sie, dass diese Option die Ablaufverfolgung nur speichert, wenn die Sitzung mit automatischer Protokollierung ausgeführt wird (z. B. nach dem Neustart). Andernfalls entfernt diese Option nur die Konfiguration für die automatische Protokollierung.
-cancelboot Entfernt die automatische Protokollierung, die durch addboot konfiguriert wurde, und bricht die Startaufzeichnung ab, die von WPR initiiert wurde.

CaptureStateOnDemand

Die Option CaptureStateOnDemand erfasst Zustände für die konfigurierten Anbieter in der aktuellen Aufzeichnung. Der Ereignisanbieter sollte in der Profildatei für capturestateondemand konfiguriert sein, während die Sitzung ausgeführt wird.

Syntax

wpr-capturestateondemand

Nachfolgend finden Sie ein Beispiel für EventProvider:

<EventProvider Id="EventProvider_Microsoft-Windows-Win32k" Name="Microsoft-Windows-Win32k" NonPagedMemory="true" CaptureStateOnly="true">
      <CaptureStateOnDemand Timeout="5">
         <Keyword Value="0x0"/>
      </CaptureStateOnDemand>
    </EventProvider>

Marker

Die Option Marker löst einen Ereignismarker mit dem angegebenen Text in der aktuellen Systemprotokollierungssitzung aus.

Syntax

wpr -marker <text> [-flush]
Argument BESCHREIBUNG
-Flush Leert den Arbeitssatz. Entspricht -MarkerFlush.

MarkerFlush (veraltet)

Die Option MarkerFlush löst einen Ereignismarker mit dem angegebenen Text aus und löscht den Arbeitssatz. Dieser Befehl ist in der aktuellen WPR veraltet.

Syntax

wpr -markerflush <text>

Leerung

Die Option Flush löscht Protokollierungssitzungen in Dateien, die über WPR initiiert wurden.

Syntax

wpr -flush

Diese Option akzeptiert keine Argumente.

HeapTracingConfig

Die Option HeapTracingConfig aktiviert oder deaktiviert die Heapablaufverfolgung für einen bestimmten Prozess oder ein Speicheranwendung.

Syntax

wpr -HeapTracingConfig <process name> [<package full name> <package relative app ID>] [{enable|disable}]

Hinweis

  • Wenn der {enable|disable}-Parameter nicht angegeben wurde, wird die aktuelle Konfiguration der Heapablaufverfolgung für den Prozess oder die App angezeigt. Beispiel: wpr -HeapTracingConfig Heaptest.exe enable
  • Dieser Befehl startet die Ablaufverfolgung nicht sofort und sollte daher ausgeführt werden, bevor Sie die Heapablaufverfolgung ausführen. Weitere Details finden Sie unter Aufzeichnen der Heapanalyse.
  • Deaktivieren Sie HeapTracingConfig für den Prozess immer, nachdem die Ablaufverfolgung abgeschlossen wurde, da sie die Leistung des Prozesses beeinflussen kann.

Disablepagingexecutive

Die Option Disablepagingexecutive gibt an, ob Treiber und Systemcode im Kernelmodus auf den Datenträger ausgelagert werden können. Durch Festlegen dieser Option auf on wird die Auslagerung verhindert. Diese Option legt den Wert von DisablePagingExecutive in der Registrierung fest.

Syntax

wpr -disablepagingexecutive {on | off}

Hinweis

Wenn Sie Ereignisstapel auf 64-Bit-Systemen mit Windows 7 ordnungsgemäß erfassen möchten, sollte disablepagingexecutive auf On festgelegt werden. Außerdem muss das System neu gestartet werden, bevor Sie die Leistungsaufzeichnung starten. Auf 32-Bit-Systemen unter Windows 7 und auf allen Systemen unter Windows 8 oder höher können Sie die Leistungsaufzeichnung ausführen, ohne disablepagingexecutive auf On festzulegen.

Log

Die Option Log konfiguriert die Debugprotokollierung und fügt sie an die Ereignisprotokollierung an.

Syntax

wpr -log {enabled | disabled | remove}

In der folgenden Tabelle werden die verfügbaren Schlüsselwörter beschrieben, die Sie auf diese Option anwenden können.

Schlüsselwort Beschreibung
enabled Aktiviert die Debugprotokollierung im Ereignisprotokoll
deaktiviert Deaktiviert die Debugprotokollierung im Ereignisprotokoll
remove Deinstalliert das Anbietermanifest für die WPR-Debugprotokollierung vom System

Purgecache

Die Option Purgecache löscht den Cache für verwaltete Symbole.

Syntax

wpr -purgecache

Diese Option akzeptiert keine Argumente.

Hilfe

Verwenden Sie diese Option, um die Onlinehilfe im Eingabeaufforderungsfenster anzuzeigen.

Syntax

wpr -help [start | stop | status | profiles | providers | tracing | boottrace | heap | hardwarecounter | advanced]

In der folgenden Tabelle werden die verfügbaren Schlüsselwörter beschrieben, die Sie auf diese Option anwenden können.

Schlüsselwort Beschreibung
Kein Schlüsselwort Zeigt eine Liste der Optionen mit Kurzbeschreibungen an. Um weitere Hilfe zu bestimmten Optionen zu erhalten, verwenden Sie ein Schlüsselwort. Beispiel: wpr -help start.
start Beschreibt das Befehlszeilenargument -start. Weitere Informationen finden Sie unter Start.
stop Beschreibt die Befehlszeilenargumente -stop, -merge und -cancel.
status Beschreibt das Befehlszeilenargument -status. Weitere Informationen finden Sie unter Status.
profiles Beschreibt die Befehlszeilenargumente -profile, -profiledetails und -exportprofile.
providers Beschreibt das Befehlszeilenargument -providers. Weitere Informationen finden Sie unter Providers.
tracing Beschreibt die Befehlszeilenargumente -marker, -flush und -capturestateondemand.
boottrace Beschreibt die Befehlszeilenargumente -addboot, -stopboot und -cancelboot.
heap Beschreibt die Befehlszeilenargumente -heaptracingconfig, -snapshotconfig, -enableperiodicsnapshot, -disableperiodicsnapshot und -singlesnapshot.
hardwarecounter Beschreibt die Befehlszeilenargumente -pmcsources, -pmcsessions, -setprofint, -profint und -resetprofint.
advanced Beschreibt die Befehlszeilenargumente -purgecache, -log, -disablepagingexecutive, -instancename und -container.

SnapshotConfig

Die Option SnapshotConfig aktiviert oder deaktiviert die Möglichkeit, einmalige oder regelmäßige Momentaufnahmen mit der <snapshot option>\ für einen oder mehrere festgelegte Prozesse zu erfassen. Derzeit können Sie Momentaufnahmen des Heaps aufzeichnen.

Syntax

wpr -SnapshotConfig <snapshot option> {-name <process name> | -pid <pid 1> [pid 2] ...} [{enable|disable}]

Wenn der {enable|disable}-Parameter nicht angegeben wurde, wird die aktuelle Momentaufnahmekonfiguration für den Prozess angezeigt (d. h. nur die Option -name).

In diesem Beispiel wird der Befehl snapshotconfig mit Imagenamen verwendet:

wpr -snapshotconfig heap -name Win32Project1.exe           //query snapshot config
wpr -snapshotconfig heap -name Win32Project1.exe enable    //enable snapshot config
wpr -snapshotconfig heap -name Win32Project1.exe disable   //disable snapshot config

In diesem Beispiel wird der Befehl snapshotconfig mit einer PID verwendet:

wpr -snapshotconfig heap -pid 8048 enable                //enable snapshot config

Hinweis

Wenn der Prozess und die Betriebssystemarchitektur nicht übereinstimmen (z. B. eine Win32-App auf einem 64-Bit-Betriebssystem), verwenden Sie die Option mit dem Imagenamen.

In der folgenden Tabelle werden die verfügbaren Schalter beschrieben, die Sie auf diese Option anwenden können.

Schalter BESCHREIBUNG
<snapshot option> Gibt einen der Optionstypen für Momentaufnahmen an. Derzeit ist nur „Heap“ verfügbar.
-name Gibt den Namen des Prozesses an. Dieser Schalter kann nicht mit dem Schalter -Pid verwendet werden. Wenn dieser Schalter verwendet wird, um die Momentaufnahme zu aktivieren, wird die Konfiguration auf alle neuen Instanzen des angegebenen Prozessnamens angewandt. Deaktivieren Sie sie unbedingt, nachdem die Tests abgeschlossen wurden.
-pid Gibt die Prozess-ID an. Dieser Schalter kann nicht mit dem Schalter „-name“ verwendet werden. Wenn dieser Schalter verwendet wird, um die Momentaufnahme zu aktivieren, wird die Konfiguration sofort und für die gesamte Lebensdauer des Prozesses angewandt.

SingleSnapshot

Die Option SingleSnapshot löst eine bedarfsgesteuerte Momentaufnahme mit der <snapshot option> für die angegebene Prozess-ID aus.

Syntax

wpr -SnapshotConfig <snapshot option> <pid 1> [pid 2] ... [up to pid 8]

Hinweis

Das Momentaufnahmefeature muss vor dem Aufrufen von SingleSnapshot für die Prozess-ID (oder den Namen) aktiviert werden.

Beispiel: wpr -singlesnapshot heap <pid for foo.exe>

Weitere Informationen finden Sie unter dem Befehl SnapshotConfig.

In der folgenden Tabelle werden die verfügbaren Schalter beschrieben, die Sie auf diese Option anwenden können.

Schalter BESCHREIBUNG
<snapshot option> Gibt einen der Optionstypen für Momentaufnahmen an.
<pid> Gibt die Prozess-ID an.

EnablePeriodicSnapshot

Die Option EnablePeriodicSnapshot löst regelmäßige Momentaufnahmen in festgelegten Intervallen für bestimmte Prozess-IDs aus.

Syntax

wpr -enableperiodicsnapshot <snapshot option> <interval (in seconds)> <pid 1> [pid 2] ... [up to pid 8]

Hinweis

Das Momentaufnahmefeature muss vor dem Aufrufen von SingleSnapshot für die Prozess-ID (oder den Namen) aktiviert werden.

Beispiel: wpr -enableperiodicsnapshot heap 60 <pid for foo.exe>

Weitere Informationen finden Sie unter dem Befehl „SnapshotConfig“.

In der folgenden Tabelle werden die verfügbaren Schalter beschrieben, die Sie auf diese Option anwenden können.

Schalter BESCHREIBUNG
<snapshot option> Gibt einen der Optionstypen für Momentaufnahmen an.
<interval> Gibt das Intervall in Sekunden an. Beachten Sie, dass das kürzeste gültige Intervall 5 ist.
<pid> Gibt die Prozess-ID an.

DisablePeriodicSnapshot

Die Option DisablePeriodicSnapshot deaktiviert regelmäßige Momentaufnahmen für alle Prozesse, die durch die Option enableperiodicsnapshot angegeben wurden.

Syntax

wpr -disableperiodicsnapshot <snapshot option>

Beispiel

wpr -disableperiodicsnapshot heap

In der folgenden Tabelle werden die verfügbaren Schalter beschrieben, die Sie auf diese Option anwenden können.

Schalter BESCHREIBUNG
<snapshot option> Gibt einen der Optionstypen für Momentaufnahmen an.

PMCSources

Die Option PMCSources fragt die Liste der PMU-Ereignisse (Performance Monitoring Unit, Leistungsüberwachungseinheit) im System und deren Standardintervallwert für den Zählerüberlauf ab. Das Intervall ist die Anzahl der Ereignisse.

Syntax

wpr -pmcsources

Hinweis

PMU-Ereignisse (Performance Monitor Unit, Leistungsüberwachungseinheit) werden verwendet, um die CPU-Leistung zu messen und die CPU-Charakterisierung von Workloads zu verstehen. In Windows HAL ist nur eine Teilmenge der PMU-Ereignisse aus den Arm/Intel-Referenzdokumenten implementiert. Im Folgenden finden Sie die Beispielausgabe dieser Option auf Geräten mit einer Intel-CPU:

C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit>wpr -pmcsources
Id  Name                        Interval  Min      Max
--------------------------------------------------------------
  0 Timer                          10000  1221    1000000
  2 TotalIssues                   698400  4096 2147483647
  6 BranchInstructions             65536  4096 2147483647
 10 CacheMisses                    65536  4096 2147483647
 11 BranchMispredictions           65536  4096 2147483647
 19 TotalCycles                    65536  4096 2147483647
 25 UnhaltedCoreCycles             65536  4096 2147483647
 26 InstructionRetired             65536  4096 2147483647
 27 UnhaltedReferenceCycles        65536  4096 2147483647
 28 LLCReference                   65536  4096 2147483647
 29 LLCMisses                      65536  4096 2147483647
 30 BranchInstructionRetired       65536  4096 2147483647
 31 BranchMispredictsRetired       65536  4096 2147483647
 32 LbrInserts                     65536  4096 2147483647

PMCSessions

Die Option PMCSessions fragt die Liste der Sitzungen ab, die Hardwarezähler verwenden. Diese Option ist nur für Windows 11 oder höher verfügbar.

Syntax

wpr -pmcsessions

ProfInt

Die Option ProfInt fragt das Intervall für die Profilerstellung ab.

Syntax

wpr -profint

Beispiel

C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit>wpr -profint
Current Profile Interval = 10000 [1.0000ms]

SetProfInt

Die Option SetProfInt legt das Profilintervall für Stichproben von PMU-Ereignissen fest. Wenn kein PMU-Ereignisname angegeben wird, lautet der Standardwert „Timer“.

Syntax

wpr -setprofint [PMU event name] 1221...10000000

Beispiel

C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit>wpr -setprofint 100000
New Profile Interval = 100000 [10.0000ms]

C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit>wpr -setprofint TotalIssues 1000000
New Profile Interval = 100000 [Counter: TotalIssues]

ResetProfInt

Die Option ResetProfInt setzt das Profilintervall auf den Standardwert zurück.

Syntax

wpr -resetprofint [Profile Source Name]

Beachten Sie, dass, wenn [Profile Source Name] nicht angegeben wird, alle Profilquellen auf den Standardwert zurückgesetzt werden.

Instancename

Die Option Instancename gibt einen Namen an, der die Ablaufverfolgungsinstanz eindeutig identifiziert.

Diese Option kann auf alle Befehle angewandt werden, die eine Protokollierungssitzung ändern, um einen benutzerseitig bereitgestellten Namen für die Protokollierungssitzung zuzuweisen. Wenn diese Option nicht angegeben wird, legt WPR den Standardsitzungsnamen fest.

Syntax

wpr –{option <arguments>} -instancename <text>

Hinweis

-instancename muss der letzte Parameter sein. Wenn die Protokollierungssitzungen mit dieser Option gestartet wurden, sollten alle nachfolgenden Befehle dieselbe Option „instancename“ verwenden. Beispiel:

C:\wpt>wpr -start cpu -instancename CpuSession
C:\wpt>wpr -status -instancename CpuSession
WPR recording is in progress...
...
Time since start        : 00:00:05
Dropped event           : 0
Logging mode            : Memory
C:\wpt>wpr -stop cpu.etl  -> omitting instancename option would not find CpuSession
        There are no trace profiles running.
        Error code: 0xc5583000
C:\wpt>wpr -stop cpu.etl -instancename CpuSession  -> trace will be saved

Bemerkungen

Jedes Mal, wenn WPR eine Ablaufverfolgung speichert, die erfasst wurde, während verwaltete Anwendungen auf dem System ausgeführt wurden, speichert WPR verwaltete Symbole mit der Ablaufverfolgungsdatei. Dieses Feature aktiviert die Leistungsanalyse verwalteter Anwendungen.

Das Generieren verwalteter Symbole ist ein ressourcen- und zeitintensiver Vorgang. WPR erstellt automatisch einen Cache für verwaltete Symbole, um das Generieren verwalteter Symbole zu beschleunigen. Wenn WPR verwaltete Symbole benötigt, überprüft es zuerst diesen Cache und verwendet alle verfügbaren und geeigneten Symbole, anstatt neue zu generieren.

Der Standardspeicherort für den Cache mit verwalteten Symbolen ist „C:\ProgramData\WindowsPerformanceRecorder\NGenPdbs_Cache“.

WPR-Referenz