Collecting Thread and Process Concurrency Data

Note

Thread execution and visualization data cannot be collected or analyzed for Web sites. Resource contention data can be collected.

The Visual Studio Profiling Tools concurrency profiling method enables you to collect two types of concurrency data:

  • Resource contention data includes information about every synchronization event that causes a function in the profiled application to wait for access to a resource.

  • Thread execution data includes information about processor utilization, thread contention, thread migration, synchronization delays, areas of overlapped I/O, and other system events.

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

  • On the first page of the Profiling Wizard, click Concurrency, and then select or clear the Collect resource contention data and Collect thread execution data check boxes.

  • On the General page of the properties dialog box for the performance session, click Concurrency, and then select or clear the Collect resource contention data and Collect thread execution data check boxes.

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

Common Tasks

You can specify additional options in the Performance Session Property 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 Session Property Pages dialog box when you profile by using the concurrency method.

Task

Related Content

On the General page, specify naming details for the generated profiling data (.vsp) file.

On the Launch page, specify the application to start if you have multiple .exe projects in your code solution.

On the Tier Interaction page, add ADO.NET call data to the profiling run.

On the Windows Counters page, specify one or more operating system performance counters to add to the profiling data as marks.

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.