Port Microsoft Concurrency Visualizer SDK to .NET Standard and NuGet

I uploaded a NuGet package of Microsoft Concurrency Visualizer SDK: ConcurrencyVisualizer. Microsoft Concurrency Visualizer is an extension tool for Visual Studio. It is a great tool for performance profiling and multithreading execution visualization. It also has a SDK library to be invoked by code and draw markers and spans in the timeline. I used it to visualize sequential LINQ and Parallel LINQ (PLINQ) execution in my Functional Programming and LINQ tutorials. For example, array.Where(…).Select(…) sequential LINQ query and array.AsParallel().Where(…).Select(…) Parallel LINQ query can be visualized as following spans:

image_thumb11_thumb[6]

The Concurrency Visualizer is available in Visual Studio Marketplace:

image_thumb[4]

And the SDK library is available for .NET Framework, and can be installed from menu item:

image_thumb1[4]

This adds a reference to local assembly C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\4hhyuhoo.ghy\SDK\Managed\4.0\Microsoft.ConcurrencyVisualizer.Markers.dll. For your convenience, I have made a NuGet package:

Install-Package ConcurrencyVisualizer

It makes your code more potable. I have also ported the code to .NET Standard, so now the SDK can work with .NET Framework, .NET Core, etc.:

image_thumb2[4]

Now the Concurrency Visualizer tool can visualize markers and spans of .NET Core correctly.

image_thumb4_thumb[4]

21 Comments

Add a Comment

As it will appear on the website

Not displayed

Your website