Three new Videos on using PerfView's Event View (And Using it in conjunction with System.Diagnostics.Tracing.EventSource)
I have just posted the following 3 videos to the my Channel 9 PerfView Tutorial Series.
- Perfview Tutorial 6 - The Event Viewer Basics
- PerfView Tutorial 7 - Using the Event Viewer in ASP.NET Scenarios
- PerfView Tutorial 8 - Generating Your Own Events with EventSources
If you are not already comforable with PerfView's event viewer, I do recommend you take a look. The event viewer lets you see ETW data in its rawest form (as a time ordered list of events, where each event can have a event-specific payload). It is particularly useful for just answer questions like 'what processes were running? What DLLs were loaded? What request URLs were serviced? It is also VERY useful in getting you the infomration need to 'home in' on a particular request and get the time range and thread information needed to isolate the performance JUST THAT REQUEST from everything else happening on the server.
Comments
Anonymous
August 21, 2012
Nice videos. Keep the good stuff rolling.Anonymous
August 21, 2012
What is the fine print when adding an EventSource? Is the code required for reading/interpreting an .etl file? Does it influence the registry (as PerformanceCounter do)? Do I need admin rights upon first use? Sounds good otherwise! TomAnonymous
August 21, 2012
The 'fine print' for actually CODING with Evensources, is pretty short (practically non-existant). EventSources do not influence the registry in any way (better than PerfCounters in that respect). They work without admin rights, and in particular work fin in Win8 AppContainers. Thus they act like 'normal' code. However there is 'fine print' on the controling/reading side when using EventSources to generate ETW logs. ETW (Because it is system wide), does require Admin priviliges to turn on. This is perhaps the biggest stumbling block. The format for reading the ETL file is an ETW standard, and thus does not 'know' anything about EventSources, however tools like PerfView (and soon WPA), will be able to parse them into something human readable. You can do more by making a custom viewer either by extending PerfView (see its help for more), or using the TraceEvent library (at bcl.codeplex.com/wikipage). Finally, if your goal is for your Win8 app to be 'self logging' (send its data back to you over the web), using ETW is not appropriate (it is machine wide and needs Admin). For that you shoudl be using the System.Diagnostics.Tracing.EventListener class instead of the ETW to 'act as a sink for your EventSource. This class will get called back on every event, and has the same controlling capabilities as ETW has. This allow you to then send the events back over the web, or log them to a file, or to a database etc.Anonymous
October 30, 2012
The comment has been removedAnonymous
October 31, 2012
The comment has been removedAnonymous
January 22, 2013
Where or how does one get help? I am following your tutorial on Channel 9 msdn. After I run the tutorial.exe, I do not get the pop up window where I should be able to click on process. jeplike@yahoo.comAnonymous
January 22, 2013
The comment has been removed