Vance Morrison's Weblog

Vance Morrison is currently an Architect on the .NET Runtime Team, specializing in performance issues with the runtime or managed code in general.

Browse by Tags

Tagged Content List
  • Blog Post: 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...
  • Blog Post: PerfView version 1.5 has been released

    It has been over 6 months since the last public release of PerfView , so I felt it was time to refresh the download center. For those of you who don't know about it is frankly the tool that I use to do most of my performance investigations with. If you have a performance issue on Windows and don't...
  • Blog Post: TraceEvent ETW Library published as a NuGet Package

    I am happy to report that the TraceEvent Library Nuget Package and the TraceEvent Library Samples Nuget Package have been published at www.nuget.org . If you look for them be sure to set the filtering to include ‘prerelease’ or you will not see them. You can see this blog entry for the formal...
  • Blog Post: WPR/WPA Support for Viewing System.Diagnostics.Tracing.EventSource

    Up until now, when I have demonstrated how to use the System.Diagnostics.Tracing.EventSource to generate events, I have been using the PerfView tool to turn on the EventSources as well as view the resulting events. This is because PerfView was on the 'cutting edge' of what I will call 'registration free...
  • Blog Post: Updated Instructions for collecting ETW data on a ARM WinRT device (e.g. Surface)

    I have updated my blog entry on collecting ETW data on an ARM WinRT device . Previously I told you to use the WPR's 'GeneralProfile' to collect the data. This is OK for some investigations, but does not collect all the same events that PerfView would have collected (most notably GC events, JIT compile...
  • Blog Post: PerfView does JavaScript investigations too

    Do you have a windows store JavaScript/HTML applications that needs performance tuning? PerfView can handle JavaScript. In particular It automatically collects the necessary events so that it can decode the names of the JavaScript functions on any stacks that are captured. (Note however that...
  • Blog Post: A Lab on investigating Memory Performance with PerfView

    As part of a conference that I participated in this week, I have created a lab on using PerfView to investigate Memory issues. The lab covers both managed and unmanaged code techniques. The ZIP file below of two Visual Studio 2012 projects which create leaky apps (one C++ and one C#), as well as...
  • Blog Post: New version of TraceEvent / PerfMonitor Posted to bcl.codeplex.com

    For several years now, I have had code called the 'TraceEvent library' that allows you to access ETW files (ETL files) from C#. However for over a year now, I have not updated the public version of that library. Well, that time has ended. I updated the TraceEvent library as well as the PerfMonitor...
  • Blog Post: Using TraceSource to log ETW data to a file

    Yesterday's blog post was showing how you can use EventSource to generate ETW events and the TraceEvent library to read them in 'real time'. Today we will do a slight variation on that example. Instead of reading the events in real time, we will simply log them to a file, and then later (it happens...
  • Blog Post: How many samples are enough when using a sample based profiler in a performance Investigation?

    Performance analysis is my job, and so I answer a lot of questions about perf, and this blog is about a frequently asked question I get. When doing CPU analysis, many profilers, including the PerfView tool are sampling profilers. In particular, for PerfView, by default every millisecond it will stop...
  • Blog Post: Collecting ETW/PerfView data on an Windows RT (WinRT, ARM, Surface) device

    If any of you have tried to run PerfView a Surface or other WinRT device, you will find that it does not work. Basically any program that is NOT a windows store application needs to be signed with a special key or it simply will fail to run on a ‘locked’ device (most devices are locked)....
  • Blog Post: Video: Wall clock time analysis of ASP.NET Applications using PerfView

    ASP.NET applications are one of the more common uses of .NET code today, and the PerfView tool has some special support for profiling them. I created the video 'Wall Clock Analysis of ASP.NET Applications' as part of the PerfView tutorial video series . You can learn more about wall clock time analysis...
  • Blog Post: Wall clock time analysis using PerfView

    By default when you collect data using PerfView you are collecting the right events to do a CPU time investigation. However there are other things that can slow your program down beside using too much CPU time. It is not uncommon to be disk bound (startup scenario are often like this), or network bound...
  • Blog Post: 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...
  • Blog Post: 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...
Page 1 of 1 (15 items)