I've been manually collating Perfmon data (e.g., getting screen caps of the perfmon graph to get the average, min, max values) of statistics like % processor usage, % committed bytes in memory, etc in profiling an ASP.NET application for server sizing.

I'd like to know if there's a way to automate this, e.g., get specific perfmon statistics data from some log file or what not, and perhaps even having a report printed out of it?

  • 1
    Hi Jon, welcome on board! :-)
    – splattne
    Jun 24, 2009 at 10:33

4 Answers 4


You could use the Performance Analysis of Logs (PAL) Tool, an open source project hosted on CodePlex.

Ever have a performance problem, but don't know what performance counters to collect or how to analyze them? The PAL (Performance Analysis of Logs) tool is a new and powerful tool that reads in a performance monitor counter log (any known format) and analyzes it using complex, but known thresholds (provided).

The tool generates an HTML based report which graphically charts important performance counters and throws alerts when thresholds are exceeded. The thresholds are originally based on thresholds defined by the Microsoft product teams and members of Microsoft support, but continue to be expanded by this ongoing project. This tool is not a replacement of traditional performance analysis, but it automates the analysis of performance counter logs enough to save you time. This is a VBScript and requires Microsoft LogParser (free download).

There is a nice article you could read: "Get a Handle on Windows Performance Analysis":

Analyzing Windows Performance Monitor logs is a time-consuming process, often requiring expert knowledge to interpret the log data for use in Microsoft Windows system performance troubleshooting. The good news is that you can simplify the process of collecting and analyzing Performance Monitor data by using three handy tools used by Microsoft support professionals: perfwiz.exe, logman.exe, and Performance Analysis of Logs (PAL).

The article explains how to create an automated procedure using these tools:

  • Performance Monitor Wizard (perfwiz.exe): helps you in creating wlocal and remote Performance Monitor logs simplifying the process of gathering Performance Monitor logs
  • Logman.exe is a built-in Windows command-line tool that manages and schedules performance counter collections on local and remote systems
  • Performance Analysis of Logs (PAL) Tool, mentioned above, for data analysis

Can't MOM/SCOM do this for you?

  • I don't know what MOM/SCOM is :D please expound.
    – Jon Limjap
    Jun 24, 2009 at 9:36
  • Microsoft Operations Manager and System Center Operations Manager (MOM's successor) - both very good for dealing with log messages over time.
    – Chopper3
    Jun 24, 2009 at 10:11
  • System Center once installed is pretty neat. You can also get it to 'ping' a web site to ensure it's up, configure memory warnings etc. The thing I noticed most was the level of detail it gave preconfigured about each perfmon counter. Basically it is pretty intelligent out-of-the-box Jun 24, 2009 at 11:20

For what it sounds like you are trying to do, I usually just use the Counter Logs in Performance Monitor itself. I set the log file type to comma delimited and crunch the numbers with Excel.


Did you look at the "Trace Logs" area of PerfMon? It does allow scheduled start/stop/etc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.