PAL 2.4 and 2.5 beta 1

Rating:        Based on 30 ratings
Reviewed:  26 reviews
Downloads: 105494
Released: Oct 31, 2013
Updated: Jun 16, 2014 by ClintH
Dev status: Stable Help Icon

Recommended Download

application, 1137K, uploaded Sep 28, 2013 - 60709 downloads

Other Available Downloads

Documentation IntroductionToPAL.xps
documentation, 4926K, uploaded Sep 1, 2010 - 5236 downloads
Documentation IntroductionToPAL.pdf
documentation, 1347K, uploaded Sep 1, 2010 - 21953 downloads
example, 2399K, uploaded Jan 19, 2011 - 8282 downloads
application, 1125K, uploaded Sep 28, 2013 - 3516 downloads
Source Code
source code, 2290K, uploaded Oct 3, 2013 - 713 downloads
Source Code SQLServer2012.xml
source code, 278K, uploaded Nov 6, 2013 - 1803 downloads
application, 1196K, uploaded May 28 - 2163 downloads
Source Code
source code, 5688K, uploaded May 28 - 330 downloads
Application PalCollector.ps1
application, 14K, uploaded Jun 16 - 789 downloads

Release Notes


PAL v2.0 is an easy to use tool which simplifies the analysis of Microsoft Performance Monitor Logs (.blg | .csv). It generates an HTML report containing graphical charts and alerts of the performance counters using known thresholds.


Execute the PAL icon in your Start Programs menu or run the PAL.ps1 script from a PowerShell.


Tested on Windows 7 and Windows 8, but should work on Windows Server 2008 R2 and Windows Server 2012. Not recommended or tested on Windows XP and Windows Server 2003 since these operating systems cannot open counter logs captured on Windows Vista and Windows Server 2008 and later.

Run the PAL setup MSI file that ships in the zip file at

Required Products (free and public):
Warning: The PAL installer (MSI) will set the PowerShell execution policy to unrestricted. This will allow the execution of PowerShell scripts.

Globalization Known Issue: PAL has only been tested using an English-US locale. If you have problems using PAL v2.x, then try again using an English-US locale. This is an open source and voluntary project, so any assistance with globalization and localization is appreciated.

Big thank you to the Microsoft Premier Field Engineering (PFE) organization for the great support and feedback!

v2.5 beta 1
  • Another multi-threaded bug: Please be aware that this beta version has a few bugs that I am actively working on. Please set it to run with a single (1) thread of execution or continue using PAL 2.4. I will be releasing another beta of 2.5 within the next few weeks. Sorry for the inconvenience.
  • Generating HTML progress bar: Added a progress bar for generating the HTML report which can take a long time.
  • Tool parameters: Added the script parameters, NumberOfThreads, IsLowPriority, and DisplayReport to the Tool Parameters section of the HTML report.
  • Incomplete analyses: During processing of a counter log, the tool shows analyses which fail. Now, the list is included in the HTML report in the "Incomplete Analyses" section.
  • New threashold file: Microsoft Lync 2010 added by Matthew Wade ( Thank you, Matthew!
  • New threashold files: Microsoft Dynamics CRM threashold files added by Stephane Dorrekens ( Thank you, Stephane!
  • No more 32-bit version: It's clear that the PAL tool often requires more than 2 GB of virtual address space, so I am only offering a 64-bit version from now on.
  • Thead processor ratio: The PAL Wizard now automatically sets the number of threads to the same number of logical processors and make all of the threads LOW priority, so that the system is mostly uneffected by the 100% CPU usage.
  • Thread time out feature: In order to further prevent thread hangs, I added a thread time out of 15 minutes which can be adjusted by the $global:THREADTIMEOUTIN_MINUTES variable.
  • Date Time range UI bug fixed: Fixed a bug where the date time restriction does not show on queued jobs after the first.
  • Multi-threaded hang condition: When using more than one thread for analysis, the tool might hang. I completely rewrote the multi-threading handler. This has been fixed... again!
  • MS Chart Control Change: Carl Knox provided code where PAL.ps1 will look for the MS Chart Control assembly name instead of the direct file system path. This might help with .NET Framework 4.5.
  • SQL Server threshold files updated: David Pless updated the SQL Server threshold files and SQL Server 2012. Thank you, David!
  • DataManager removed from templates: When a data collector Perfmon template is exported from a PAL threshold file, it included DataManager settings that restricted the size of the output directory resulting in data loss of existing data at that location. DataManager setting have been removed from the exported templates.
  • Threshold file update: QuickSystemOverview.xml. Change the System Cache Resident Bytes threshold to be greater than 10% of physical memory. Change % Network Utilization to 30% Warning and 50% Critical.

  • Threshold file update: Logical Disk Overwhelmed and Physical Memory Overwhelmed updated to use Avg. Disk Queue Length instead of % Idle Time to determine if the disk queue is busy when checking the other counters.
  • HTML report update: Changed Alerts to separate criticals and warnings with color.
  • Processing update: The file name of the counter log and the number of running threads now show in the progress bar during analysis.
  • Multi-threaded hang condition: When using more than one thread for analysis, the tool might hang. This has been fixed.
  • Threshold file update: Updated the System Overview threshold file. The Process Processor analyses now have thresholds associated with overall system processor time.
  • Threshold file update: In the Quick System Overview threshold file, I rewrote the Pool Paged and Pool Nonpaged analyses. Previously they assumed Windows Server 2003. Now, it includes all Microsoft Windows and Windows Server operating systems from Windows XP/Windows Server 2003 and later.
  • Question variables changed: Number of Processors was removed from Quick System Overview, but other threshold files might still need it - analyses that used this variable now use the \Processor(*)\% Processor Time counter instances. "OS" added to identify the architecture and operating system of the computer in the counter log. "UserVa" added to know what the /USERVA boot.ini switch value was or what the IncreaseUserVa value is on Windows Vista and Windows Server 2008 and later.
  • Bug fix: Low priority processing now works on all child threads (sessions).

Reviews for this release

by gambin on Aug 14 at 6:22 PM
A big thank you to the creators. A great tool that just works and saves a lot of time!
by WernerDT on Jun 26 at 4:15 PM
this tool saves a lot of working hours... awesome!
by arnugrah on Jun 3 at 5:36 AM
Multi-thread analyze my BLGs like a boss! New improved logic. Way to go Clinth!
by JeffStokesMSFT on May 28 at 9:48 AM
Very nice, fills a void MS really needs.
by jvillapudua on Mar 7 at 4:55 PM
Good, thanks for sharing!
by AlanCarlos on Jan 28 at 5:08 PM
Great tool! I'm using PAL and i've found big problems in my environment.
by vithors on Dec 9, 2013 at 6:11 PM
The greatest performance analysis tool EVER !
by KirkLashbrook on Oct 9, 2013 at 9:32 PM
Awesome reporting tool. It gave me the performance control of my IAAS as provider and client, the properly reports to help our developers teams, and to have a real IT governance our infrastructure and resources.
by Marko_Q on Sep 17, 2013 at 4:45 PM
Allowed me to quickly analyze perfmon CSV data. Reports also contain descriptions of performance counters, which is a plus.
by aleksbor on Jan 28, 2013 at 9:07 PM
Great tool to analyze performance. First, create a baseline report when things are running smoothly. Use this baseline to compare at any time when things are not so smooth.
by rviana on Dec 11, 2012 at 8:20 PM
Have been using this product for some time and I am always astonished at its basic utility level. Now with the addition of Rocks! A report that use to take 3.3 hours to produce now is done in under an hour.
by byronwp on Nov 13, 2012 at 6:47 PM
Awesome work. I really like PAL providing me a performance overview report before I dive deep into perfmon with the *.BLG file. Sharing with everyone with this Configure-PerformanceMonitor PowerShell Cmdlet below to ease your configuration on the counters.
by Ryen on Aug 28, 2012 at 12:44 AM
Awesome tool. It gave me a coordinate and structured report to present for the client I support. Saved my day. :D
by nelsonmnetto on Aug 1, 2012 at 1:08 AM
This is an awesome tool! Although it will take time to plumb the depths of what this package offers, the out of the box results are impressive to say the least!
by kabaker55 on Jul 26, 2012 at 5:14 PM
Thank you very much. I've just stumbeled in the PAL tool while analyzing the Perfmon logs (SQL Server analysis) and your tool helped me a lot. Very useful and user freindly. Good work! Regards, Roni, Amsterdam.
by ronivered on Jun 20, 2012 at 10:08 AM
Awesome tool! Thanks a ton.. not only does it do our job of analyzing and giving the summary, it also gives good help material to understand some of the counters..
by soni009 on May 4, 2012 at 12:47 PM
Thank you Jonathan very much for your work and contribution to the community - this is a great free tool. Hugo Shebbeare, SQL Server MVP (2010) BTW SQL MVP Brad McGehee also has a great Blog post on this here:
by hugosheb on Nov 21, 2011 at 6:06 PM
Seems to be a problem when processing IIS logs. Keeps erroring out saying a process has the .html file open. Otherwise an awesome tool.
by franklinsj on Oct 8, 2011 at 2:35 AM
The date for v2.0.8 still reflects the v2.0.7 date (Jan 18 2011). My biggest request for PAL is for multithreading (maybe using PowerShell 2.0 background jobs?) and overall just better performance.
by clandis on Sep 13, 2011 at 2:10 PM
Great tool! Lots of details in the final report. Works fine for me in Windows XP. I haven't analyzed very large logs yet.
by aorozco on Jul 4, 2011 at 3:42 PM
Fantastic Tool…Allows you to have a prescriptive snapshoot while presenting other issues that may be occurring
by johnbivins_com on Jun 1, 2011 at 4:21 PM
Excellent tool, gives a full analysis of the system and the application in question and directs to the problematic area. Just loved it!
by rs_gujral on May 22, 2011 at 6:50 PM
Great piece of perspective for reviewing a challenging .blg log. The final report is well organized and the description of each analysis and the counters involved sets the tool apart. Nicely done.
by whycantIuseliveid on Apr 22, 2011 at 2:00 PM
i don't know
by salideng on Mar 7, 2011 at 7:15 AM
I used this nice and helpful tool a few times on different computers and had'n any problems. Only the memory issue on 32bit machines is a little bit annoying but after I set up a 64bit-VM only for PAL, this isn't a serious problem for me and on this VM it works fine.
by TheGermanGuy on Jan 1, 2011 at 8:21 AM