How to Set up the PAL Tool for Windows Performance Monitoring
Tags: windowsserver
Published: 2021-01-15 20:26:02

> _This article was written by Jeff Stokes. He is a frequent contributor to the Adam the Automator (ATA) blog. If you'd like to read more from this author, check out his [ATA author page](http://adamtheautomator.com/author/jeff-stokes). Be sure to also check out [more how-to posts on cloud computing, system administration, IT, and DevOps on adamtheautomator.com](https://adamtheautomator.com)!_

<!-- wp:paragraph -->
<p><a href="https://adamtheautomator.com/tag/windows-10/">Windows</a> performance counters can get unwieldy quickly. Although powerful, performance counters are notoriously complex. Even before you begin to create performance counters, it's sometimes impossible to know which ones to create to find what you're looking for in the first place! Thankfully, you have the PAL Tool.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Introducing the open-source Performance Analysis of Logs (PAL) Tool. using the PAL tool, you can investigate performance problems and download performance counter logs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The PAL tool provides useful insights based on known thresholds. It works by providing a handy configuration GUI and then running a PowerShell script (<em>PAL.ps1</em>) to parse and analyze performance counter log files.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In this article, you're going to learn how to download the PAL tool, install it and then how to use it to perform system performance analysis of logs generated from data collector sets.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="prerequisites">Prerequisites</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you'd like to follow along in this article, be sure you have the following prerequisites in place before starting.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>Any modern version of Windows - We'll be using Windows Server in this article.</li><li>.NET Framework 4.7.2 installed</li><li>An existing performance counter log - We'll be using the log created from a previous ATA article entitled <em>Windows Performance Monitoring: Saving Time with Templates</em> &lt;LINKHERE&gt;</li></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 id="downloading-and-installing-the-pal-tool">Downloading and Installing the PAL Tool</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To get started, visit the &nbsp;PAL Tool download from GitHub. You can do so by visiting the <a href="https://github.com/clinthuffman/PAL/releases">releases section</a>. In this article, we'll be using version 2.8.1.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Find the MSI installer called <em>PAL_Setup_x_x_x.msi</em> in the Assets section in the GitHub repo as shown below. Once downloaded, run the installer accepting all defaults.</p>
<!-- /wp:paragraph -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/wcbda7tz3tt1b08js6nc.png)

<!-- wp:heading -->
<h2 id="analyzing-counter-logs">Setting up the PAL Tool</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Once the PAL tool is installed, it's time for the fun stuff! Let's now run through an example of using this handy tool to extract useful, applicable data from a performance counter log to check on server performance.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><li>First, click the Start menu button, type <em>PAL</em>, and click <strong>PAL</strong> when it appears in the results. You'll see an example of what the <strong>PAL Wizard</strong> looks like below. Click <strong>Next</strong> to begin the <strong>PAL Wizard</strong> and go to the <strong>Counter Log</strong> tab.</li></ol>
<!-- /wp:list -->
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jzrvflb3rma9v2uc8re3.png)

<!-- wp:paragraph -->
<p>2. &nbsp;On the <strong>Counter Log</strong> tab is where you will tell PAL where the performance counter log is located and if you'd like to limit the analyzation to only a specific timeframe as as shown below.</p>
<!-- /wp:paragraph -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><p><em>The optional <strong>Date/Time Range</strong> is there only if you want to specify a time inside your BLG file. Leave it unchecked for now.</em></p></blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>3. &nbsp;Click <strong>Browse</strong>, navigate to the location of a BLG file you'd like to analyze, and open it. For this example, we have a Windows performance counter called <em>GIBSON_System_33920.blg</em> that I created earlier.</p>
<!-- /wp:paragraph -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xite6lf8z8n4aewhjx0s.png)

<!-- wp:paragraph -->
<p>4. &nbsp;With the BLG file selected, click <strong>Next</strong> to go to the <strong>Threshold File</strong> tab.</p>
<!-- /wp:paragraph -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/rirx16y6nnlpel4o82bx.png)

<!-- wp:paragraph -->
<p>There are many different options for Threshold Files. The default is <strong>System Overview</strong>. Since this is just a demonstration without a specific metric to analyze in mind, keep the <strong>Title</strong> set to <strong>System Overview</strong> but feel free to play around with this.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>5. &nbsp;Click <strong>Next</strong> to go to the <strong>Questions</strong> tab as you can see below. The <strong>Questions</strong> tab is used for finding memory threshold limit breaches in x86 installs of Windows. It’s safe to skip this step.</p>
<!-- /wp:paragraph -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/qovyqnwsm5lzzm3hkssm.png)

<!-- wp:paragraph -->
<p>6. &nbsp;Click <strong>Next</strong> to go to the <strong>Options</strong> tab as shown below. The <strong>Options</strong> tab is used to break the log file into multiple files organized by chronological time. Usually the default, <strong>Auto</strong>, is fine.</p>
<!-- /wp:paragraph -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/87bdp9i1gmq4pp4c0rdx.png)

<!-- wp:paragraph -->
<p>7. &nbsp;Click <strong>Next</strong> to go to the <strong>Reports</strong> tab as shown below. The <strong>Reports</strong> tab is where you specify directories for report generation.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>By default, PAL creates a <em>PAL Reports</em> folder within your <em>My Documents</em> folder for Windows performance counter reports. This is useful if you tend to assist different groups/companies/teams and don’t want to mix the results data. As you can see below, an <strong>HTML Report</strong> is going to be generated in the folder path provided.</p>
<!-- /wp:paragraph -->
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ttm9ed0tgr9r3ovmgldh.png)

<!-- wp:paragraph -->
<p>8. &nbsp;Click <strong>Next</strong> to go to the <strong>Queue</strong> tab as shown below. The <strong>Queue</strong> tab is where you can read what is going on under the hood with PAL. This will be a read-only field presenting the PowerShell script (<em>PAL.ps1</em>) PAL is executing against the log file with a variety of variables defined.</p>
<!-- /wp:paragraph -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><p><em>If you were analyzing several traces, the <strong>Queue</strong> would reflect the individual commands being executed on each selected BLG file.</em></p></blockquote>
<!-- /wp:quote -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/rkql2opiecacjmw2btih.png)
<!-- wp:paragraph -->
<p>9. &nbsp;Click <strong>Next</strong> to go to the <strong>Execute</strong> tab as shown below. The <strong>Execute</strong> tab is the last step in the <strong>PAL Wizard</strong>. Select <strong>Start analysis of the queue</strong>, <strong>Execute as a low priority process</strong>, and leave the <strong>Number of processing threads</strong> to its default.</p>
<!-- /wp:paragraph -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/mqbxbhlh9ux3dlbziq5e.png)

<!-- wp:paragraph -->
<p>10. &nbsp;Click <strong>Finish</strong> to execute the PowerShell script.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>When configuration is completed, the PAL tool will execute a PowerShell script which opens a PowerShell window where you'll the see the script running. You can see an example of this below.</p>
<!-- /wp:paragraph -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/s80dwnh7k86b82kt7y91.png)

<!-- wp:paragraph -->
<p>Eventually the processing window will display that the script is generating the HTML report and graphs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>When the script is completed, your default browser will open a new window with the html-based report as shown below.</p>
<!-- /wp:paragraph -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ce24b82o8eknwsps76ft.png)
<!-- wp:paragraph -->
<p>The report is broken into 30 time slices, and also broken out by problem category (Disk, Memory, CPU, Network, etc). The report is interactive so you can click around the various links to navigate around and see what kind of useful information you can find.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Most categories will have some friendly text at the category header explaining why the counter is relevant, what the thresholds are, and sometimes a MSDN or TechNet link for further reading. You can see below an example of what it says for <strong>Memory Available MBytes</strong>.</p>
<!-- /wp:paragraph -->

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8h7x9ttdbzowtk7jnee6.png)
<!-- wp:heading -->
<h2 id="summary">Summary</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In this article, you learned about the handy PAL Tool. Using this free, open-source tool is a great way to perform analysis of logs, parse and extract actionable data from your performance monitor logs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Now that you're through this demonstration, start capturing other types of performance counter log and inspecting them with the PAL Tool to see what other benefits you can get from this useful tool!</p>
<!-- /wp:paragraph -->