How to: Collect CPU counter data
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
A CPU event counter is used to collect hardware-specific performance data. This article shows you how to collect event counter data when you use the instrumentation profiling method.
Two types of CPU counter events occur:
Portable events - CPU events that can be collected, regardless of the specific CPU.
Platform events - CPU events that are coupled to a specific CPU.
Portable events include general events, such as Instructions Retired and Non Halted Cycles, CPU buffer events, branching events, and L2 cache events. The available platform event counters are determined by the processor manufacturer.
Categories of events can be shared between portable and platform counters. For example, the following categories of data are frequently common to both types:
Memory events.
Front end events.
Branch events.
You can collect performance counter data in two ways in the profiler:
Collect data from one or more counters when you profile by instrumentation.
Specify a counter event as the sampling interval when you profile by sampling. For more information, see How to: Choose sampling events.
To collect CPU performance counter data when you profile by instrumentation
On the performance session Property Pages, click CPU Counters.
Select the Collect CPU Counters check box.
Expand the Available performance counters tree until you find the sample events that you want to collect.
For each event that you want to collect, select the event and then click the right arrow to add the event to the Selected Counters list.
Note
Available performance counters is enabled only if you select the Collect CPU counters check box.
See also
Configure performance sessions Performance session properties CPU and Windows counters How to: Choose sampling events