on error resume next


Hi community, Clint!
I love the multi threaded version, but I have to chase multiple instances of one executable, e.g. notepad.exe notepad.exe#1 notepad.exe#2 and in logs, where data for 3 is recorded, the analysis runs, but if for example notepad.exe#2 is missing, all threads are terminated, the HTML is not created and the analysis stops.
So my request would be to put an option if the data source counter does not exist, just go on with the analysis.
Best Regards
Closed Oct 3, 2013 at 6:08 PM by ClintH


ferencmatyas wrote Jul 9, 2012 at 8:59 PM

I try with asterisk to filter only the processes I need, and the filtered csv is like this
"(PDH-CSV 4.0) (W. Europe Daylight Time)(-120)","\hostname\Process(basicprocessname#4)\% User Time","\hostname\Process(basicprocessname#3)\% User Time","\hostname\Process(basicprocessname#2)\% User Time","\hostname\Process(basicprocessname#1)\% User Time","\hostname\Process(basicprocessname)\% User Time"
"06/18/2012 09:10:01.584"," "," "," "," "," "

but the analysis fails

Begin: 6/17/2012 1:08:30
End: 6/24/2012 0:40:14
Samples: 181
The command completed successfully.
Number Of Counter Instances In Perfmon Log: 5

Processing: Process % User Time

Generating the HTML Report...GenerateHtml : None of the counters in the counter
log match up to the threshol
d file. The counter log is either missing counters or is corrupted. Try opening
this counter log in Performance Monitor to confirm the counters. Collect anoth
er counter log using the counters defined in the threshold file. Consider using
the Export to Perfmon log template feature to collect the proper counters.
At C:\Program Files\PAL\PAL\PAL.ps1:5425 char:14
  • GenerateHtml <<<<
    • CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExcep
    • FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio
with \Process()\% User Time i get all the processes and is working. with \Process(b)\% User Time i can match only the process names starting with b, but the evaluation fails.


ferencmatyas wrote Jul 9, 2012 at 9:26 PM

i found a workaround by using relog to relog the binary file itself with only the needed processes using a list, then i can use the asterisk to include all the filtered processes.

still would be nice to be able to filter without relogging the binary log itself


ferencmatyas wrote Jul 9, 2012 at 10:25 PM

i figured out a workaround by relogging the blg with the b* asterisk and use the full * matching in the PAL log, and this way it works. i just have to deal with the relog errors.


ClintH wrote Jul 10, 2012 at 2:23 AM

There is nothing in PAL that will prevent the processing of counter instances. Are you sure that the CSV file is not corrupted? I've had a few users showing what looks like corrupted CSV files, but I am not sure how they are being created.

Are you recording the counter logs in English? All of the counter paths must be in English so that they match the English counter paths in the threshold files. This is the most common reason for the counters not matching up.