Search Wiki:
Project Description
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).

Features

  • Thresholds files for most of the major Microsoft products such as IIS, MOSS, SQL Server, BizTalk, Exchange, and Active Directory.
  • An easy to use GUI interface which makes creating batch files for the PAL.vbs script.
  • A GUI editor for creating or editing your own threshold files.
  • Creates an HTML based report for ease of copy/pasting into other applications.
  • Analyzes performance counter logs for thresholds using thresholds that change their critieria based on the computer's role or hardware specs.

To use PAL

The PAL tool is primarily a VBScript that requires arguments/parameters passed to it in order to properly analyze performance monitor logs. In v1.1 and later of PAL, a GUI interface has been added to help with this process.

Requirements

Operating Systems
PAL runs successfully on all of the following operating systems: Windows XP SP2, Windows Vista, and Windows 2003 Server. 32-bit only due to OWC11 requirements.

Note: The optional GUI (windows form) portion of PAL requires the Microsoft .NET Framework v2.0.

Log Parser 2.2
Log parser is a powerful, versatile tool that provides universal query access to text-based data such as log files, XML files and CSV files, as well as key data sources on the Windows® operating system such as the Event Log, the Registry, the file system, and Active Directory®. PAL uses the Log Parser tool to query perform logs and to create charts and graphs for the PAL report.
http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&DisplayLang=en

Microsoft Office Web Components 2003
Log Parser requires the Office Web Components 2003 in order to create charts.
http://www.microsoft.com/downloads/details.aspx?FamilyID=7287252c-402e-4f72-97a5-e0fd290d4b76

Training
Watch online at: http://www.livemeeting.com/cc/microsoft/view?id=JKGT3N
or
Download it (20071005IntrotoPALwmv.zip) from:
https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=PAL&ReleaseId=6759

Questions, Problems, or Feedback: Please post to the Discussions section of the web site or email PALTool@microsoft.com.
Last edited Jan 4 at 11:41 PM  by ClintH, version 16
Comments
ram wrote  Sep 20 2007 at 4:27 AM  
I ran the PAL script against my blg file ,
C:\Program Files\PAL>CScript PAL.vbs /LOG:"C:\perflogs\New Data Collector Set\000001\datacollector01.blg"

It ran for few seconds and then this error popped up
Analyzing "Physical Disk Write Latency Analysis"...
C:\Program Files\PAL\PAL.vbs(3147, 5) Microsoft VBScript runtime error: Subscript out of range: 'UBound'

Any clues? -Ram

ClintH wrote  Sep 25 2007 at 3:15 AM  
Hi Ram, Thanks for pointing this out. This was an elusive one. I believe this occured because all of the instances in the log file where explicitly excluded in the threshold file - meaning the _Total instance was probably the only counter instance in the log file. Well, in the threshold file, we typically exclude _Total because it's an artificial average of all of the disks in this case, so not very useful to us. In any case, I fixed the script to where it will no longer crash when this condition occurs. Thanks!

ClintH wrote  Oct 5 2007 at 11:47 PM  
For an introduction to the tool, check out the "Introduction to the PAL Tool Presentation" link above in the project details.

mhock wrote  Oct 24 2007 at 1:01 PM  
Hi!

I'm trying to analyze a Terminal Server's .blg file, on my XP Laptop. I do not have Office 2003, but Office XP. I tried installing OWC10, OWC11 and both of them, but I keep getting the error
\PAL\PAL.vbs(1107, 5): Runtime Error in MS VBScript: Path not found

Is this a known issue or do I have to buy Office 2003?
Thank You!!

mhock wrote  Oct 24 2007 at 2:08 PM  
Hi again, first prob was solved by creating dir "my documents", as i use a german XP. But now I get
ERROR: [DetermineIfCountersAreInThePerfmonLog] Unable to create a counter list from C:\DOKUME~1\user1\LOKALE~1\Temp\_FilteredPerfmonLog.csv
looks like another localized path problem, but i just cant find out where...
any suggestions?

ClintH wrote  Dec 7 2007 at 7:40 AM  
Yes, the counter not found on non-English systems is a known issue. This is becaues the counter names are different in each spoken language. Other users worked around this by translating the English counter paths to German. If there was a database or a table that had the counter paths and their respective translations, then I could localize this tool.

ClintH wrote  Dec 7 2007 at 7:50 AM  
I reorganized the user interface a bit to make it easier to use. I hope everyone likes the change.

pksmania wrote  Jan 8 at 3:04 PM  
Hi!,

I am trying to use the tool with several blg files from a W2000 server, unfortunatelly the tool returns an error.

PAL.vbs v1.1.9

Merging perfmon logs together. This can be a time consuming process...
Executing: ReLog.exe "D:\temp\@@@ Work\Janos\PerfLogs\OnGoing_000004.blg" "D:\te
mp\@@@ Work\Janos\PerfLogs\OnGoing_000005.blg" "D:\temp\@@@ Work\Janos\PerfLogs\
OnGoing_000006.blg" "D:\temp\@@@ Work\Janos\PerfLogs\OnGoing_000007.blg" -f BIN
-o C:\DOCUME~1\e169607\LOCALS~1\Temp\_MergedPerfmonLog.blg

Input
----------------
File(s):
D:\temp\@@@ Work\Janos\PerfLogs\OnGoing_000004.blg (Windows 2000)
D:\temp\@@@ Work\Janos\PerfLogs\OnGoing_000005.blg (Windows 2000)
D:\temp\@@@ Work\Janos\PerfLogs\OnGoing_000006.blg (Windows 2000)
D:\temp\@@@ Work\Janos\PerfLogs\OnGoing_000007.blg (Windows 2000)

Error: To relog multiple files all files must be in binary format.

Any idea? thanks

pksmania wrote  Jan 8 at 3:18 PM  
Hi, also as a new feature, it would be nice to be able to specify the name of the output report. Thanks.

PksMania

ClintH wrote  Jan 18 at 8:58 PM  
All PAL is doing is using Relog.exe which is part of the operating system. Relog.exe just doesn't do a good job of merging log files in my experience with it. If Relog.exe isn't working, then open a support case with Microsoft Support specifically on Relog.exe. The PAL tool is not a Microsoft product.

afidel wrote  Feb 15 at 4:40 PM  
Physical Disk Write Latency Analysis seems to have problems. I have instances where Min, Max, and Avg are all below .015 but yet I am receiving "Average disk responsiveness is slow - more than 15ms". This is for PhysicalDisk(0 C: D:)\Avg. Disk sec/Write.

erom wrote  Feb 21 at 2:03 AM  
Hi, first of all thanks for your PAL tool. It's really nice tool. I have a 2 question about PAL.
Q1.
I use korean windows 2003 server. but when I analized perfomance monitoring result file *.blg, *.csv etc. with PAL tool. Error was out.
I aleady know below error. because ID mhock mentioned it above.

Done using Relog to create a counter list.
ERROR: [DetermineIfCountersAreInThePerfmonLog] Unable to create a counter list from C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\_FilteredPerfmonLog.csv

So I change start -> control panel -> nation and language option
(national tab) korean -> englisth(USA), (advance tab) korean -> englisth(USA) then reboot.
After reboot is completed. PAL tool operates well.
Q2.
But there is another problem!!
For example I selected all count & perfomance entity memory in perfomance tool.
But after PAL tool analized perfomance result. There is no all count result in memory entity with PAL result file(html). What happen?
How can I do?

I know the answer about the Q1. But I don't know Q2.
Can you Help me my Question? Thank you.

MarkyT wrote  May 21 at 9:47 AM  
For version 1.3 beta 5

can you tell me whether the "Add and Resume" feature is supposed to allow analysis of logs from machines with different RAM and numProcs? I ask because the last item added to the queue "stamps" its RAM and numProcs values on the entire queue (I assume that this is true for all the "questions" - I didn't check them). This causes an issue when queuing up analysis for a BizTalk farm where the SQL box typically has more CPUs and RAM than the BTS boxes

ClintH wrote  Jun 3 at 3:45 AM  
yes, that is the intention of that feature. It works great when you use the same threshold file, but I recently noticed that if you change the threshold file and use the "Add and Restart" feature, then it changes the parameters on all of them. This is a bug and I'll see if I can fix it soon. Sorry.

ClintH wrote  Jun 3 at 3:46 AM  
Please submit bugs and issues to the ISSUE TRACKER section versus general comments here. Thanks.

Updating...