Counter

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Counter.

The Counter option collects data from processor (hardware) performance counters.

  • When you are using the sampling profiling method, Counter specifies the on-chip performance counter and the number of counter events to use as the sampling interval. You can specify only one counter when you are using sampling.

  • When you are using the instrumentation profiling method, the number of counter events that occurred in the interval between the previous and current collection events are listed as separate fields in profiler reports. Multiple Counter options can be specified when you are using instrumentation.

Each processor type has its own set of hardware performance counters. The profiler defines a set of generic performance counters that are common to almost all processors. To list the generic and processor-specific counters on your computer, use the VSPerfCmd QueryCounters command.

VSPerfCmd.exe {/Launch:AppName | /Attach PID} /Counter:Name[,Reload[,FriendlyName]][Options]  

VSPerfCmd.exe /Start:Method /Counter:Name[,Reload[,FriendlyName]][/Counter:Name[,Reload[,FriendlyName]]][Options]  

Parameters

Name
The name of the counter. Use the VSPerfCmd.exe /QueryCounters option to list the names of available counters on the computer.

Reload
The number of counter events in the sampling interval. Do not use with the instrumentation method.

FriendlyName
(Optional) The string to use in place of Name in the column headers of profiler reports and views.

The Counter option can only be used with one of the following options:

Start: Trace
Initializes the profiler to use the instrumentation method.

Launch: AppName
Starts the specified application and the profiler. The profiler must be initialized to use the sampling method.

Attach: PID
Starts the profiler and attaches it to the process specified by the process ID. The profiler must be initialized to use the sampling method.

The sampling method example demonstrates how to sample an application at every 1000 occurrences of the generic profiler counter NonHaltedCycles.

The instrumentation method example demonstrates how to initialize the profiler to collect L2InstructionFetches counter events. The L2InstructionFetches counter name is specific to the processor.

; Sample Method Example  
VSPerfCmd.exe /Start:Sample /Output:TestApp.exe.vsp  
VSPerfCmd.exe /Launch:TestApp.exe /Counter:NonHaltedCycles,1000,"Non-Halted Cycles"  
  
;INSTRUMENTATION METHOD EXAMPLE  
VSPerfCmd.exe /Start:Trace /Output:TestApp.exe.vsp /Counter:L2InstructionFetches,,"L2 Cache Instruction Fetches"  

VSPerfCmd
Profiling Stand-Alone Applications
Profiling ASP.NET Web Applications
Profiling Services

Show: