The Performance Analysis of Logs (PAL) tool reads a performance monitor counter log and analyzes it using known thresholds. The tool generates an HTML based report that 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, including Exchange Server, and members of Microsoft support.

This tool is not a replacement of traditional performance analysis, but it automates the analysis of performance counter logs enough to help administrators save time. The PAL tool:

    • Analyzes performance counter logs for thresholds;
    • Is helpful for large Perfmon logs;
    • Identifies Exchange Server (2007 and 2010 – no 2013 as of yet) and operating system performance counter bottlenecks by analyzing for thresholds;
    • Is extensible to do analysis on any performance counters;
    • Can be used to help write your own counter.

PAL is available as a free download at CodePlex. It requires PowerShell v2.0 or greater, Microsoft .NET Framework 3.5 SP1 and Microsoft Chart Controls for Microsoft .NET Framework 3.5.

Nuno Mota

Nuno Mota is an Exchange MVP working as a Microsoft Messaging Specialist for a financial institution. He is passionate about Exchange, Lync, Active Directory, PowerShell, and Security. Besides writing his personal Exchange blog,, he regularly participates in the Exchange TechNet forums and is the author of the book “Microsoft Exchange Server 2013 High Availability.”

Published by
Nuno Mota

Recent Posts

A lot not to like: Analysis of recent Facebook data breach

The effects of the recent Facebook data breach are still being felt. In this new…

4 hours ago

Exchange 2019: Building an environment from scratch

Are you finally ready to take the plunge into Exchange 2019? If you are building…

7 hours ago

Cyber-extortion scheme targets Google AdSense users

A cyber-extortion scam targeting Google’s AdSense users is making waves. Here are the facts that…

24 hours ago

Need to check your Azure VM costs? Use this script

Nobody likes a surprise in their cloud bills. This handy script will help you check…

1 day ago

Updating and extending PowerShell object’s type data

This neat PowerShell tip will help you write more efficient scripts by showing you how…

1 day ago

Integrating Azure DevOps with your macOS: Step-by-step guide

Mac owners should not be missing out on the fun. This step-by-step guide shows you…

1 day ago