Is there an automated way of collating data from Perfmon?

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?


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?


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.