Archive for the ‘Performance analysis’ Category

How to install xperf

Saturday, February 13th, 2010

I’m finally living the full Windows 7 lifestyle, with everything from our home computers to my workstation running some flavor of Windows 7. Since I now don’t have any legacy platforms to deal with, I’m buying in to using all of the various features and utilities that are available on Vista and later (I skipped Vista entirely and have been clinging to XP).

One of the things that I’ve been most interested in getting a chance to play with is xperf, which is a performance measurement utility that leverages the Event Tracing for Windows (ETW) instrumentation that has been added to Windows over the years. I figured that with all of these Win7 systems around it would be worthwhile to have xperf installed on every machine in case there is some mysterious slowdown that needed investigation. While I thought this would be a straightforward download and install, it turns out that one needs to take a fairly circuitous route to get the necessary data capture and viewing tools installed.

The first thing you’ll need to do is install the Windows SDK, available here. Yes, the SDK…For some reason, the installation package of the tool is provided only in the SDK’s \Bin directory. Thus, in order to install the tool you’ll need to install the SDK so that you can get access to the MSI package that will actually install xperf.

While this is a pain, I suspect that you can get away with a fairly minimal SDK install (though I haven’t bothered to try that yet). Also, once you have the SDK installed in one location you’ll have the MSI you need and can just carry that around with you.

Once installed, you’ll need to navigate to the Bin directory and actually find the installation package. This was not intuitive to me, which is why I figured I’d bother writing this post. The files that you’re interested in are the \Bin\wpt_arch.msi files, where arch is whatever version of Windows you’re currently running: x86, x64, or IA64. Just double click on the file that is appropriate for your architecture and you’re on your way to drilling down to whatever performance issue you’re having.

For a good intro to xperf, check out the following Ntdebugging Blog post.