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 www.nuget.org 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).
Vance
Comments
Anonymous
January 03, 2014
ducbinh.com.vn/.../muc-in-phun-canon-PFI-701PC-muc-in-phun-cho-may-in-canon-ipf800-8000s-8100-9000-9000s.htmlAnonymous
January 04, 2014
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?Anonymous
January 21, 2014
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 blogs.msdn.com/.../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.Anonymous
March 11, 2014
I had been using version 1.2.7.1 from CodePlex and just moved to 1.0.5 using NuGet. What happened to TraceEvent.TimeStamp100ns?Anonymous
March 11, 2014
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).Anonymous
December 15, 2015
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)