Undocumented Event Tracing for Windows (ETW) providers in .NET 4.0 (BCL)
Continuing with my explorations in ETW I happened notice that there are few undocumented ETW providers within the .NET 4.0 BCL. These are in the mscorlib.dll and they are
- System.Collections.Concurrent.CDSCollectionETWBCLProvider : This is used by the ConcurrentBag , ConcurrentDictionary and the ConcurrentStack
- System.Diagnostics.Eventing.FrameworkEventSource : This is used by System.Resources.ResourceManager
- System.Threading.CdsSyncEtwBCLProvider : This is used by SpinWait, SpinLock and Barrier
- System.Threading.TplEtwProvider & System.Linq.Parallel.PlinqEtwProvider : This is already documented here
To get list of ETW providers on an application ,get pid of the application and then issue this command
logman query providers -pid 1853452
The outcome of the above command is
For example .from above result ,the provider 2e5dba47-a3d2-4d16-8ee0-6671ffdcd7b5 belongs to TplEtwProvider , it is not a registered with a man file. These providers that i have mentioned above are specifically useful in diagnosing parallel applications. In the forth coming posts I will demonstrate how we can leverage ETW in understanding parallel applications performance.

[...] Posted in .NET 4.0, ETW by Naveen on March 30, 2010 Like I mentioned in my previous post , Today I am going to exploring TPL ETW traces. Yes, I know we could use the built in VS.NET [...]
Exploring Event Tracing for Windows (ETW) within Task Parallel Library (TPL) using PerfMonitor « Naveen's Blog
March 30, 2010 at 11:02 pm