TraceEvent Nuget package has moved from Prelease to Stable

Back in August in this blog enty, I announced that the TraceEvent Library Nuget Package and the TraceEvent Library Samples Nuget Package have been published at as Prerelease software. 

Well I just updated this to be a stable version (version 1.0.5).  

For those who don’t already know, TraceEvent is a library for parsing data that comes from Event Tracing for window (ETW) which include events you generate yourself with System.Diagnostics.Tracing.EventSource.    If you are in need of a logging system on windows machines you should definitely at least be looking at ETW, and TraceEvent is a great companion.  

You can see this blog entry for the formal announcement of the library. or my August blog entry for more details.     The release has been very stable over the 4 months since August, and most things have not changed.

The biggest different is that the TraceEvent Programmers Guide has been fleshed out a bit more (but still not complete).    


Comments (6)

  1. Alois Kraus says:

    Very nice information. Much of the details were previously not documented at all. Although the doc still contains a lot of todos. Did you publish an old version or is this meant as a wip effort? The registration free approach sounds promising but the details are not yet documented. I will use this only when I can collect the custom events with full call stacks with wpr and xperf as well. An aligned tooling story with WPT is desireable. By the way what are the WPT guys up to? Is there a public roadmap which features we can expect in the future?

  2. As you point out, the documentation is still very much a work in progress (in my experience this is always more the rule than the exception).    More work on the documentation is certainly something that will happen in the next release.      WPR will be supporting the registration-free approach (it works on an internal version.  It already works to some degree in public versions of WPR but there is a bug (in WPR) that will be fixed in the next public release of WPR (see…/perfview-version-1-5-has-been-released.aspx for more).     The next version of PerfView has a /WPR option that generates output in the way WPA expects (unZIPeded with a .ngenpdbs directory).    There is a feature request for WPR to support the ZIP format that PerfView current uses (which is trivial).    Your question on WPT roadmap should be directed to their forum.  

  3. RayCanzanese says:

    I had been using version from CodePlex and just moved to 1.0.5 using NuGet.  What happened to TraceEvent.TimeStamp100ns?

  4. You should look at the Release Notes for more details of porting from older versions.

    You should use TimeStampRelativeMSec (preferred) or TimeStamp (DateTime).   instead of TimeStamp100ns.   (TimeStamp.Ticks is very similar, however it almost all cases TimeStampRelativeMSec is the best).  

  5. aelij says:

    I've been getting a weird error using TraceEvent. When adding the Command = SendManifest to the arguments on EnableProvider, I get the following exception (I'm using .NET 4.6.1):

    System.Runtime.InteropServices.COMException (0x80071068): The GUID passed was not recognized as valid by a WMI data provider. (Exception from HRESULT: 0x80071068)

      at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)

      at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)

      at Microsoft.Diagnostics.Tracing.Session.TraceEventSession.EnableProvider(Guid providerGuid, TraceEventLevel providerLevel, UInt64 matchAnyKeywords, TraceEventProviderOptions options)