start
Displays logger start options.
xperf [-start [LoggerName] [ProfileFileName!ProfileName|SessionName]|-update [LoggerName]|[ProfileFileName!ProfileName|SessionName]] -flush [LoggerName] -save ProfileFileName!ProfileName|SessionName merged.etl -setprofint [<n>] [cached] -seteresourcesample <n1> <n2> <n3> -setspinlocksample <n1> <n2> <n3> -pooltag <P1>+<P2>+<P3>+<P4> -on (GUID|KnownProviderName)[:Flags[:Level[<:0xnnnnnnnn|’stack|[,]sid[,]tsid’]]]
Parameters
Command | Description |
---|---|
-start [LoggerName]|[ProfileFileName!ProfileName|SessionName]] |
Starts a logging session for LoggerName, starts loggers in profile ProfileName defined in the ProfileFileName file, or starts logger SessionName defined in the ProfileFileName file. |
-update [LoggerName]|[ProfileFileName!ProfileName|SessionName]] |
Updates a logging session for LoggerName, updates loggers in profile ProfileName defined in the ProfileFileName file, or updates logger SessionName defined in the ProfileFileName file. |
-flush LoggerName |
Flushes a logging session for LoggerName. This parameter is required to save a buffer mode trace (see -buffering parameter, below). To save a buffer mode trace, you must issue the -flush parameter. |
-capturestate LoggerName Flags |
Captures state to non-kernel logging session from providers specified in Flags. The accepted provider format is the same as for -on. If flags and level are specified, they are enabled while capturing state. This is called for tracing started with the –buffering option. It must be followed by –stop to stop tracing. |
-on Flags|Groups |
For kernel logging sessions, the sequence of kernel flags and groups to be enabled, separated by plus signs (+). For user logging sessions, the sequence of providers to be enabled, separated by plus signs (+). The accepted provider format is |
-f filename |
Logs events to the specified file. The default is \Kernel.etl for kernel traces and \User.etl for user traces. |
-buffersize Size |
Sets trace buffer size to Size, in KB. Possible values are 4 to 1024. The default is 64. |
-minbuffers n |
Sets the minimum number of trace buffers to n. The default is 64. |
-maxbuffers n |
Sets the maximum number of trace buffers to n. The default is 320. |
-maxfile Size |
Sets maximum file size to Size MB. |
-flushtimer n |
Sets the flush timer to n seconds. |
-boottrace Flags|Groups|off |
Configures the Event Tracing for Windows logger to trace boot. Set flags to "off" to turn off boot tracing. All logging control can be used in conjunction with this. Use in conjunction with -f to log to a file other than \Perf.etl. |
-realtime |
Enables real-time tracing. |
-buffering |
Enables buffering mode tracing. To save, use -flush. The -stop option does not save the trace. |
-filemode Mode |
Sets the file mode. The default is "Sequential". Possible modes: "Sequential", "Circular", "Append", and "NewFile". |
-clocktype ClockType |
Sets the clock type. The default is "PerfCounter". Possible types: "Cycle", "PerfCounter", and "SystemTime". |
-stackwalk flags|@file |
Enables stack walking for the events specified as |
-pids pid [...] |
Applies flags to processes When specifying multiple pids, separate them with a space, as in |
-pidnewprocess <command-line> |
Applies flags to a new process that Xperf will start with <command-line>. Used in conjunction with private loggers. |
-waitfornewprocess |
Waits for a new process created using |
-heap |
Enables heap tracing in processes specified by Pids and PidNewProcess. |
-critsec |
Enables critical section tracing in processes specified by Pids and PidNewProcess. |
-setprofint [<n>] [cached] |
Sets sampled profile interval to |
-save ProfileFileName!ProfileName|SessionName merged.etl |
Flushes the loggers in profile ProfileName defined in file ProfileFileName and merges the ETL files to merged.etl; or flushes logger SessionName defined in file ProfileFileName and merges the ETL file to Merged.etl. |
-seteresourcesample <n1> <n2> <n3> |
Sets ERESOURCE sampling, where n1 release sampling rate is greater than or equal to 1000, n2 contention sampling rate is greater than or equal to 1, and n3 number of excessive timeouts is greater than or equal to 1. The contention sample rate is the rate at which spinlock events are acquired when collisions occur. For example, if this value is 100, one spinlock event is acquired for each one hundred Spin Lock collisions. |
-setspinlocksample <n1> <n2> <n3> |
Sets the spinlock spin threshold to |
-pooltag <P1>+<P2>+<P3>+<P4> |
Sets the pool tag filters (Pn) separated by plus signs (+) or semicolons (;). Use a question mark (?) for a single-character wildcard or an asterisk (*) for a multiple-character wildcard. A maximum of four filters can be specified. |
Remarks
Multiple loggers can be started using multiple start options, each followed by the options to be applied to that logger. If LoggerName or -start LoggerName
is omitted, the kernel logger is implied. Only a single instance of the kernel logger can exist at any time. If one of the loggers fails to start, all the loggers that are already started are stopped.