Collecting Thread and Process Concurrency Data


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Collecting Thread and Process Concurrency Data.

The Visual Studio Profiling Tools concurrency profiling method enables you to collect resource contention data that includes information about every synchronization event that causes a function in the profiled application to wait for access to a resource.


  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional

You can specify the concurrency profiling method by using one of the following procedures:

  • On the first page of the Profiling Wizard, click Concurrency

  • On the General page of the properties dialog box for the performance session, click Concurrency.

  • On the Performance Explorer toolbar, in the Method list, click Concurrency.

You can specify additional options in the Performance SessionProperty Pages dialog box of the performance session. To open this dialog box:

  • In Performance Explorer, right-click the performance session name, and then click Properties.

The tasks in the following table describe options that you can specify in the Performance SessionProperty Pages dialog box when you profile by using the concurrency method.

TaskRelated Content
On the General page, specify naming details for the generated profiling data (.vsp) file.- How to: Set Performance Data File Name Options
On the Launch page, specify the application to start if you have multiple .exe projects in your code solution.- How to: Specify the Binary to Start
On the Tier Interaction page, add ADO.NET call data to the profiling run.- Collecting tier interaction data
On the Windows Counters page, specify one or more operating system performance counters to add to the profiling data as marks.- How to: Collect Windows Counter Data
On the Advanced page, specify the version of the .NET Framework run-time to profile if your application modules use multiple versions. By default, the first version loaded is profiled.- How to: Specify the .NET Framework Runtime