Support for counters with named instances (such as SQL)

Nov 26, 2007 at 5:22 PM
Hello,

First of all - I'd like to say that this is a fantastic tool, for multiple reasons. it leverages existing tools like LogParser which is one of my favorite tools, so it's very fast and makes it very extensible. Also, as a person who has spent hundreds of hours analyzing performance logs, this tool really adds value. Being able to scan through a set of reports and charts is a lot easier than digging through the same information in the Perfmon utility. As the developer has stated, it really complements the hands-on analysis of a performance log, taking care of a lot of the drudgework, plus, you have a beautiful summary of some of the key information from the log file in a small HTML (or XML) file, which is a lot easier to store than hundreds of megabytes of log files.

Many thanks to ClintH - this tool is a must-have! Now, on to the topic --

Topic - Support for counters with named instances (such as SQL)

I'm wondering if there is any option in PAL to deal with instances which contain named counters, as might occur with SQL counters. For example, if there are two instances of SQL installed on a machine (common in active/active clusters), one instance will have counters named \SQLServer and another may have counters named \MSSQL$DBSERVER1. By default, the analysis engine in PAL looks only for the default instance and produces messages like the following when trying to use the SQL analysis threshold file:

"DetermineIfCountersAreInThePerfmonLog The following Analysis is unable to proc
ess due missing counters:
Analysis Name: SQLServer:Access Methods FreeSpace Scans/sec
The following counter was not found in the perfmon log:
\SQLServer:Access Methods\FreeSpace Scans/sec"

Is there a quick workaround for this available? I'm somewhat familiar with Logparser and Logman and VBScript, so I can probably work something out myself and post it if I can find a method that works.

On a related note, I've noticed that, when a perfmon log is configured remotely, the counters will be stored with the server name embedded, vs. when the log is configured locally on the server. I'm wondering how PAL will handle this, especially if there are multiple servers being queried in a single log file. For example:

When a perfmon log is configured on Server02 to capture data from Server01:
\\Server01\Processor(_Total)\%Processor Time

When a perfmon log is configure locally on Server01:
Processor(_Total)\%Processor Time

I'm wondering how PAL will handle these types of situations. I've just started using it, so I'll see what I can find out on my own too.

Regards
Ed

Coordinator
Dec 6, 2007 at 12:32 PM
Hi EdZ,

Great questions. The analyses in PAL only use static counter paths, so if a counter with a custom name is needed to be analyzed, then the threshold file will need to be edited to analyze it. When I wrote PAL, I never thought about this kind of scenario. The Exchange folks have a similar issue where they want to treat the disk containing the Exchange store differently than other disks. They worked around this issue by dynamically creating a PAL threshold file, then executing PAL under that new threshold file.

In any case, I'm open to ideas on how to resolve this.


EdZ wrote:
Hello,

First of all - I'd like to say that this is a fantastic tool, for multiple reasons. it leverages existing tools like LogParser which is one of my favorite tools, so it's very fast and makes it very extensible. Also, as a person who has spent hundreds of hours analyzing performance logs, this tool really adds value. Being able to scan through a set of reports and charts is a lot easier than digging through the same information in the Perfmon utility. As the developer has stated, it really complements the hands-on analysis of a performance log, taking care of a lot of the drudgework, plus, you have a beautiful summary of some of the key information from the log file in a small HTML (or XML) file, which is a lot easier to store than hundreds of megabytes of log files.

Many thanks to ClintH - this tool is a must-have! Now, on to the topic --

Topic - Support for counters with named instances (such as SQL)

I'm wondering if there is any option in PAL to deal with instances which contain named counters, as might occur with SQL counters. For example, if there are two instances of SQL installed on a machine (common in active/active clusters), one instance will have counters named \SQLServer and another may have counters named \MSSQL$DBSERVER1. By default, the analysis engine in PAL looks only for the default instance and produces messages like the following when trying to use the SQL analysis threshold file:

"DetermineIfCountersAreInThePerfmonLog The following Analysis is unable to proc
ess due missing counters:
Analysis Name: SQLServer:Access Methods FreeSpace Scans/sec
The following counter was not found in the perfmon log:
\SQLServer:Access Methods\FreeSpace Scans/sec"

Is there a quick workaround for this available? I'm somewhat familiar with Logparser and Logman and VBScript, so I can probably work something out myself and post it if I can find a method that works.

On a related note, I've noticed that, when a perfmon log is configured remotely, the counters will be stored with the server name embedded, vs. when the log is configured locally on the server. I'm wondering how PAL will handle this, especially if there are multiple servers being queried in a single log file. For example:

When a perfmon log is configured on Server02 to capture data from Server01:
\\Server01\Processor(_Total)\%Processor Time

When a perfmon log is configure locally on Server01:
Processor(_Total)\%Processor Time

I'm wondering how PAL will handle these types of situations. I've just started using it, so I'll see what I can find out on my own too.

Regards
Ed