Share via


Concurrency Visualizer

Note

Starting with Visual Studio 2013 Preview, the Concurrency Visualizer is an optional extension to Visual Studio. In previous versions of Visual Studio, the Concurrency Visualizer was installed as part of supported editions of Visual Studio. Download the Concurrency Visualizer and the Concurrency Visualizer Collection Tools from the following links:

By using the Concurrency Visualizer, you can examine how your multithreaded app performs. The views in the Concurrency Visualizer provide graphical, tabular, and textual data that shows the temporal relationships between the threads in your program and the system as a whole. You can use the Concurrency Visualizer to locate performance bottlenecks, CPU underutilization, thread contention, cross-core thread migration, synchronization delays, DirectX activity, areas of overlapped I/O, and other information. The views provide data that you can act on by linking its graphical output to call stacks and source code.

The Concurrency Visualizer relies on Event Tracing for Windows functionality.

Note

The Concurrency Visualizer doesn't support Web projects.

Title

Description

Utilization View

Describes how to view and analyze system activity across all processors.

Threads View (Parallel Performance)

Describes how to analyze the interactions between threads in your program.

Cores View

Describes how to analyze thread migration across cores.

Common Patterns for Poorly-Behaved Multithreaded Applications

Describes several common patterns and shows how they appear in the Concurrency Visualizer.

Parallel Development in Visual Studio blog

Provides tips and best practices for the Concurrency Visualizer.

Profiling Tools Report Views

Provides reference information for the reports and views of Visual Studio Profiling Tools.

Concurrency Visualizer SDK

Describes how to instrument your source code to display additional information in the Concurrency Visualizer.

Concurrency Visualizer Command-Line Utility (CVCollectionCmd)

Describes how to use the Concurrency Visualizer command line utility (CVCollectionCmd.exe) to collect and process traces on machines that don't have Visual Studio.