Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.
X

Vance Morrison

.NET ETW, Performance, performance tools

11/29/2012 2:27:33 PM

Tutorial 14 - Investigating Wall Clock Responce Time in ASP.NET Scenarios
This video is about doing a wall clock time investigation of ASP.NET scenarios using the PerfView tool. It is best to watch the video using one of the high quality links on the right so the text is readable. If you have not already watched the video on wall clock time basics, you should do that first (as well as the even more fundamental videos it will refer you to). You may also be interested in the video on wall clock time for parallel/async programs. As explained video on the basics wall clock time investigations, the key to doing such an investigation is focusing in on a 'critical path' of interest. For ASP.NET scenarios the most obvio...

Vance Morrison

.NET ETW, Performance, performance tools

11/29/2012 2:26:50 PM

Tutorial 13 - Leveraging Tasks make sense of Parallel/Asynchronous programs
This is the second of a set of video tutorials on how to do wall clock time investigations with PerfView. It is best to watch the video using one of the high quality links on the right so the text is readable. If you have not already watched the video on wall clock time basics, you should do that first (as well as the even more fundamental videos it will refer you to). In the first video the demo was the simplest case, a sequential program with both disk and CPU time. In this video we discuss the more complex case when there are several threads doing concurrent activity that you wish to analyze. The key PerfView feature that helps in cases lik...

Vance Morrison

.NET ETW, Performance, performance tools

11/26/2012 7:42:19 PM

Tutorial 12 - Wall Clock Time Investigation Basics
This is the first of a set of video tutorials on how to do wall clock time investigations with PerfView. It is best to watch the video using one of the high quality links on the right so the text is readable. Wall clock time is often the most interesting metric because it is the time that the end user sees your app taking. Unfortunately wall clock time investigations are more complex because frankly there are more 'players' (disk and network as well as CPU, page faulting, waiting on threads and processes, concurrent activity and resource contention). Thus it does requires more thought and care on your part perform a blocked time investigation. In thi...

Vance Morrison

.NET ETW, Performance, performance tools

9/13/2012 2:21:44 PM

Tutorial 11 - Investigating .NET Heap Memory Leaks :Part2 Analyzing the data
This video is the second in a two-part video on investigating a GC memory 'leak'. This video discusses a real world memory leak that was found and corrected in PerfView itself. If you have not watched part one, you should do so now. This second part assumes that we have taken two heap snapshots and now wish to investigate the differences between the two snapshots. We show how to do a diff, and explain the theory (negating the sample of the baseline), and how trivial it is to find what 'path of referneces' are keeping the objects alive. Armed with this information we disover that some of growth is 'by design' (it is p...

Vance Morrison

.NET ETW, Performance, performance tools

9/13/2012 2:21:32 PM

Tutorial 10 - Investigating .NET Heap Memory Leaks :Part1 Collecting the data
This video is the first in a two-part video on investigating a GC memory 'leak'. This video discusses a real world memory leak that was found and corrected in PerfView itself. This first part discusses how you likely found the leak (by observing memory growth using TaskManager or a simmiar utility), and that some care is needed because not all memory growth is a leadk. The hallmark of a leak is unbounded growth when repeating an operation. Also discussed is the the basic theory of taking two snapshots, one as a baseline, and another after doing an operation that should return the application to the same memory configuratio...
PerfView Tutorial 9 - .NET Memory Investigation: Basics of GC Heap Snapshots
This video describes the basic information you need to start a NET memory investigation and in particular understand the data shown you in a .NET GC snapshot. The first step in doing .NET Memory investigation is first determine whether .NET Memory is your problem and take a heap snapshot. This tutorial shows you how to determine how much of your process's memory is GC heap and (if that is your problem) shows you how to take a snapshot of the GC heap. For large GC heaps, PerfView does not dump every object, but instead samples the heap (but goes to great lengths to insure that sample is representative). This video describ...

Vance Morrison

ETW Performance, performance tools

8/19/2012 1:12:46 AM

PerfView Tutorial 8 -  Generating Your Own Events with EventSources
It may be that the ASP.NET events discussed in the previous video are diagnosting the performance of you service. However it not (or you are not using ASP.NET), you will want to log your own ETW events. This video shows you how easy it is to do this from C# by using a V4.5 Runtime class called System.Diagnostics.Tracing.EventSource (there is also a stand alone version for V3.5 or V4.0 runtimes). The video goes through the process end-to-end from creating the C# method to do the logging, through activating the logging using PerfView, and finally displaying the events in PerfView's 'events' view. It is best to watch the video using one of the high qual...

Vance Morrison

ETW Performance, performance tools

8/19/2012 1:12:31 AM

PerfView Tutorial 7 - Using the Event Viewer in ASP.NET Scenarios
In the previous video learned the basics of using the event viewer. In this video we use that knowledge in a common scenario: investigating the performance of an ASP.NET server scenario. The video discusses the ASP.NET ETW events as well important fields like the 'ContextID' field that let you quickly home in on the processing that is related to a single event. This is VERY helpful in understanding performance regressions and sporatic peformance degrades. It is best to watch the video using one of the high quality links on the right so the text is readable. The next video is on showing you how to insert your own events int the ETW stream. You may also be interested in the whole PerfView Tu...

Vance Morrison

ETW Performance, performance tools

8/19/2012 1:11:54 AM

Perfview Tutorial 6 - The Event Viewer Basics
In the first tutorial we used the 'Run' command to caputure data while an executable ran. In tutorial 2-5 we learned how to use the StackViewer to do a CPU investigation. In this tutorial we learn more about a very different view called the EventViewer that allows you to look at ALL the data in each event that is logged in cronological order. This view is especially useful for finding 'when things happen' as well as see useful side information (like process command lines, and the version of all the DLLs in use). We show how to filter by event name, process, time range and event text as well as show to display only the columns that you are interested in. It is best to watch the video using ...
PerfView Tutorial 1.1 Data Collection for Server Scenarios
In the first tutorial we used the 'Run' command to caputure data while an executable ran. However for server scenarios you simply want to explicitly state when to start and stop data collection. It is also likely that you will need to ask someone else (e.g. operations staff) to collect the data for you and send the data for 'offline' analysis. This video shows you the support PerfView has for these server style scenarios. It is best to watch the video using one of the high quality links on the right so the text is readable. You may also be interested in the whole PerfView Tutorial Series.
PerfView Tutorial 1.1 Data Collection for Server Scenarios
In the first tutorial we used the 'Run' command to caputure data while an executable ran. However for server scenarios you simply want to explicitly state when to start and stop data collection. It is also likely that you will need to ask someone else (e.g. operations staff) to collect the data for you and send the data for 'offline' analysis. This video shows you the support PerfView has for these server style scenarios. It is best to watch the video using one of the high quality links on the right so the text is readable. You may also be interested in the whole PerfView Tutorial Serie...

Vance Morrison

ETW Performance, performance tools

8/6/2012 7:09:11 PM

PerfView Tutorial 5 - The Drilling Into Feature
This is the fifth in a series of video tutorials on how to use the PerfView profiling tool. It is best to watch the video using one of the high quality links on the right so the text is readable. This tutoral is on PerfView's 'Drill Into' feature, which allows you to selectively ungroup a set of samples in isolation, so you can understand just that part in more detail. You may wish to also to to the first tutorial on data collection or the second tutoral on data analysis if you have not already done so. The PerfView tool is a free Windows performance tool developed by the Microsoft .NET Runtime Performance team for investigating both managed can unmanaged performance proble...

Vance Morrison

ETW Performance, performance tools

7/17/2012 5:07:59 PM

PerfVIew Tutorial 4 - Grouping And Folding
This is the fourth in a series of video tutorials on how to use the PerfView profiling tool. It is best to watch the video using one of the high quality links on the right so the text is readable. This tutoral is on PerfView's grouping and folding operators, which are essential to finding the semantically meaninful operation (the forest) in the mounds of data collected (the trees). You may wish to also to to the first tutorial on data collection or the second tutoral on data analysis if you have not already done so. The next tutorial is on the 'Drill-Into' feature that lets you isolate and zoom into a performance issue. The PerfView tool is a free Windows performance tool develope...

Vance Morrison

.NET ETW, Performance, performance tools

7/17/2012 5:07:33 PM

PerfView Tutorial 3 - Resolving Symbols
This is the third in a series of video tutorials on how to use the PerfView profiling tool. It is best to watch the video using one of the high quality links on the right so the text is readable. A big part of an effective performance investigation is getting symbolic information (method names) for the parts of the program that are of interest to you. This tutorial describes what you need to know to insure getting this information is not a stumbling block. You may wish to also to to the first tutorial on data collection or the second tutoral on data analysis if you have not already done so. The next tutorial is on the powerful grouping and folding operations PerfView supplies. Th...

Vance Morrison

ETW Performance, performance tools

7/17/2012 5:07:17 PM

PerfView Tutorial 2 - A Simple CPU Performance Investigation
This is the second of a series of video tutorials on how to use the PerfView profiling tool. This tutorial assumes you have watch the first tutorial on collecting data. It is best to watch the video using one of the high quality links on the right so the text is readable. The next tutoral will discuss the important topic of symbol resolution. The PerfView tool is a free Windows performance tool developed by the Microsoft .NET Runtime Performance team for investigating both managed can unmanaged performance problems. If you are having a performance problem, especially if it is a .NET application, it is hard to overestimate the value of this tool. You can get the PerfView tool (for free) a...

Vance Morrison

ETW Performance, performance tools

7/17/2012 3:22:16 PM

PerfView Tutorial 1 - Collecting data with the Run command
This is the first of a series of video tutorials on how to use the PerfView profiling tool to gather data for a CPU performance data on a simple .NET program. It is best to watch the video using one of the high quality links on the right so the text is readable. If you don't have PerfView already see tutorial 0: Getting PerfView to see just how easy it is to get it. After watching this eee the next tutoral for how to analyze this data or browse the whole series. The PerfView tool is a free Windows performance tool developed by the Microsoft .NET Runtime Performance team for investigating both managed can unmanaged performance problems. If you are having a performance problem, espe...

Vance Morrison

.NET ETW, Performance, performance tools

7/17/2012 2:22:16 PM

PerfView Tutorial 0 - Getting PerfView
If you have an internet connection you are just a few clicks away from installing perfView. This video shows you just how easy it is. It is best to watch the video using one of the high quality links on the right so the text is readable. After downloading PerfView start with Tutorial 1: Collecting Data. This video assumes that you have .NET V4.0 installed. If you run windows update, this is almost certainly the case as windows update does auto-install it. It also assumes you are running on at least Windows Vista (e.g. Windows 7) or at least Windows 2K8. You may also be interested in the whole PerfView Tutorial Series.