PerfView Hard Core CPU Investigations (Using CPU Counters) on Windows 10
One of the bread-and-butter investigations that people use the PerfView profiling tool for is a CPU investigation. Indeed when you type 'PerfView collect' it collects the information needed for a CPU...
View ArticleDiagnosing .NET Core ThreadPool Starvation with PerfView (Why my service is...
This article is worth a read if you have A service written in .NET (and in particular .NET ASP.NET Core) Its ability to service incoming load has topped out But the machine's CPUs are not fully...
View ArticleUsing PerfView (ETW) in Windows (Docker) Conainers
Virtual machines have been around on Windows for many years now, and for the most part you treat the exactly as if it was a physical machine. In particular with respect to a tool like PerfView, we...
View ArticleDebugging through the .NET Core framework using VSCode (e.g. on Linux)
In my blog 'Debugging Through the .NET Core framework' I give specific instructions for setting Visual Studio up so that you can debug into the source code for the .NET Core Runtime. Since Version...
View ArticleUpdate: Debugging Through the .NET Core Framework V2.0.3 (Windows)
As you may or may not know, for a couple years in addition to running .NET code on the 'Desktop' runtime that ships with the Windows operating system, the .NET Runtime team also ships a version of the...
View ArticlePerfView: How to .NET Core Framework Symbols and Source (On Windows)
In a previous blog on using PerfView with .NET Core I pointed out that free PerfView profiling tool (see PerfView tutorial for more) should ‘just work’ to collect performance data for .NET Core...
View ArticlePerformance Analysis on .NET Core applications with PerfView (on Windows)
Back in July, the .NET Runtime Team shipped the first official version of .NET Core. .NET Core is a stand-alone down version of the .NET Runtime that is Open Source (it lives in the .NET Core GitHub...
View ArticleCollecting Performance Data on Linux using PerfCollect and PerfView.
In a previous post on Linux Tracing I described how it was possible to collect traces of CPU samples on Linux machines and view them with PerfView. Basically there is a Bash script called PerfCollect...
View ArticlePerfView is now Open Source On GitHub
I am happy to announce, that the PerfView source code is now open source as a GitHub repository. It is available at https://github.com/Microsoft/perfview The readme associated with the GitHub...
View ArticleEncore Presentation Measure Early and Often For Performance
Back in 2008 I wrote a two-part MSDN article (April 2008 and May 2008) about the basics of performance investigation entitled ‘Measure Early And Often for Performance’. At the time I also wrote a...
View ArticleThings I learned about Performance Investigation : My talk at Perf@Scale...
Last Wednesday, I gave a talk at the one day Perf@Scale conference entitled ‘Keys to Actionable Performance Investigations’. This talk is meant to tell people what I learned over my 10 years of doing...
View ArticleEncore Presentation: Understand the Impact of Low-Lock Techniques in...
Back in October 2005 I wrote a MSDN article entitled Understand the Impact of Low-Lock Techniques in Multithreaded Apps. This is a follow-on article to the more fundamental article What Every Dev Must...
View ArticleEncore Presentation: What Every Dev Must Know About Multithreaded Apps
Back in August 2005 I wrote a MSDN article entitled What Every Dev Must Know About Multithreaded Apps, in which I describe the fundamentals of multi-threaded programming. Although it was written...
View ArticleHistograms with PerfView (Ad-hoc Data Analysis).
In my blog on external profile data in PerfView as well as my blog on disk space analysis and Linux investigations I showed that PerfView can be used for almost any data analysis that involves...
View ArticleUsing PerfView on ‘External’ data (e.g. Other Profilers)
Executive Summary If you want to emit JSON or XML data that PerfView can simply view in the stack viewer, see the Help -> Viewing External Data menu entry. Details In my blog on using PerfView with...
View ArticleWhat is using up all my Disk Space? Using PerfView for Directory Size Analysis
In my last blog entry, I talked about the fact that PerfView’s stack view can be used on all sorts of data, and in particular can be used to read Linux CPU performance data. But I also pointed out...
View ArticleAnalyzing CPU traces from Linux with PerfView
Executive Summary If you want to use PerfView to view Linux profile data see the Help->Viewing Linux Data menu item. The Details As its name suggests, PerfView is a tool that is intended to help...
View ArticlePerfView Version 1.9 Released to the Web
Today I have updated the PerfView Download Site, to version 1.9 of the program. In particular this version has a fix for a symbol resolution on data collected from older (e.g. Win7 OSes) machine...
View ArticleIssue with Symbols Lookup with PerfView V1.8 collecting on older OS version
I wanted to blog about this just to increase the visibility of this bug since it may me more common that I thought. If you are using Versions 1.8 of PerfView and you are COLLECTING data using PerfView...
View ArticleJust For Fun: Instructions for building a Marble Tree Using a Laser Cutter.
Over 15 years ago I was visiting some relatives and they showed me a toy that they had bought called a marble tree. The picture on the right is not that toy I saw, but gives you an idea of what I...
View Article