Introduction Tutorial: Logging ETW events in C#: System.Diagnostics.Tracing.EventSource

Event Tracing for Windows (ETW) is a fast, scalable logging mechanism built into the Windows operating system.   It is powerful because of three reasons The operating system comes pre-wired with a bunch of useful events It can capture stack traces along with the event, which is INCREDIBLY USEFUL. It is extensible, which means that you can…

42

Version 1.1.24 of the EventSource NuGet Package marked as STABLE

As some of you may know, since last August, there has been a Prelease version of EventSource 1.1 available on Nuget.   It has been stable for the last 5 months or so, so we have gone ahead and marked the 1.1.24 version as stable. For those of you unfamiliar with EventSource, it is a logging system…

40

The EventSource NuGet package and support for the Windows Event Log (Channel Support)

One of the more common questions we get about the System.Diagnostics.Tracing.EventSource class is whether it can be used to log message to the Windows Event Log (that is can be viewed with eventvwr.exe).   This EventLog support is also called ‘Channel support’ because that is the official name for a ‘stream of events’ in the Windows…

40

Using TraceEvent to mine information in OS registered ETW providers

In previous blocks on TraceEvent I shows you how easy it was to start up ETW sessions to collect information generated by System.Diagnnostics.Tracing.EventSource classes (typically logging that you yourself did).   But I also mentioned in other blogs that the one of the real strengths of ETW was the fact that you get to correlate lots…

35

Walk Through Getting Started with ETW TraceEvent NuGet Samples package

In a previous post, I talked about the TraceEvent NuGet Library, which allows you to read and manipulate Event Tracing for Windws (ETW).   There is a companion post about the EventSource  NuGet package which allows you to create your own ETW events (or in fact to send those events to anywhere you choose).    My blog…

32

Version 1.8 of PerfView is now on the Download Center

 This is to let you know that the PerfView Download Site has been updated to version 1.8 today.   The pervious version (1.7) id about 10 months old, so this one has 10 months of updates.   Some of the highlights in that time are show below.   The most important aspects of this version are that it supports…

27

PerfView Version V1.7 released to the web.

It has been a 9 months since the last public version of PerfView, so today I have updated the PerfView Download location from version 1.6 to Version 1.7.   Here are some of the new features that I think are noteworthy.  You can look at the Help -> Release Notes for more information on detailed changes. …

26

EventSource Activity Support Demo Code

In yesterday’s blog post, wrote a summary of the new support in .NET V4.6 for Activities.   In particular it points you EventSource Activity Specification, which describes the feature in detail. I explained why you should care (if you are instrumenting server applications, you care), and outlined the basics of using the feature. In short, in a world…

26

ETW in C#: Controlling which events get logged in an System.Diagnostics.Tracing.EventSource

In my EventSource demo blog entry we defined an EventSource and turned on the logging with the command PerfView /OnlyProviders=*MinimalEventSource run eventSourceDemo.exe Which turned on all the events defined in the ‘MinimalEventSource’ we defined.    As you add more events to your EventSource, it becomes more and more likely that you will want more control over which…

23

To Inline or not to Inline: That is the question

In a previous posting, I mentioned that .NET V3.5 Service Pack 1 had significant improvements in the Just in time (JIT) compiler for the X86 platform, and in particular its ability to inline methods was improved (especially for methods with value type arguments).   Well now that this release is publically available my claim can be…

21