madmaze / pyNmonAnalyzer

Python tool for reformatting and plotting/graphing NMON output
118 stars 42 forks source link

pyNmonAnalyser fails to parse AIX Nmon files #10

Closed guilmxm closed 10 years ago

guilmxm commented 10 years ago

Hi,

pyNmonAnalyser fails to parse NMON files which have been generated under AIX Systems with the following error message:

WARNING - Discarding line with missing Timestamp ['TOP', '+PID', 'Time', '%CPU', '%Usr', '%Sys', 'Threads', 'Size', 'ResText', 'ResData', 'CharIO', '%RAM', 'Paging', 'Command', 'WLMclass'] Traceback (most recent call last): File "./pyNmonAnalyzer.py", line 232, in nmonAnalyzer = pyNmonAnalyzer(args) File "./pyNmonAnalyzer.py", line 84, in init self.processedData = self.nmonParser.parse() File "/home/guilhem/Documents/nmon/nmonpython/pyNmonAnalyzer-master/pyNmonParser.py", line 112, in parse self.processLine(bits[0],bits) File "/home/guilhem/Documents/nmon/nmonpython/pyNmonAnalyzer-master/pyNmonParser.py", line 87, in processLine col.append(line[n+1]) IndexError: list index out of range

I have tested with various NMON files coming different AIX and NMON versions with the same failure.

I have extracted 2 NMON AIX files sample available to download with this public link:

https://dl.dropboxusercontent.com/u/63061887/NMON/NMON_AIX_Extract.zip

Thank you for your help.

Guilhem

madmaze commented 10 years ago

interestingly the number of columns for the LPAR is not consistent. Do you know what version of NMON created those files? As long as I skip the LPAR data everything works fine.

LPAR,Logical Partition host0002,PhysicalCPU,virtualCPUs,logicalCPUs,poolCPUs,entitled,weight,PoolIdle,usedAllCPU%,usedPoolCPU%,SharedCPU,Capped,EC_User%,EC_Sys%,EC_Wait%,EC_Idle%,VP_User%,VP_Sys%,VP_Wait%,VP_Idle%,Folded,Pool_id

LPAR,T0001,0.458,3,12,25,1.70,128,10.64 ,0.96,1.83,1,0,8.49,9.17,0.01,9.29,4.81,5.20,0.01,5.27,0

LPAR = LPAR Logical Partition host0002 = T0001 PhysicalCPU = 0.458 virtualCPUs = 2 logicalCPUs = 12 poolCPUs = 25 entitled = 1.70 weight = 128 PoolIdle = 10.64 usedAllCPU% = 0.96 usedPoolCPU% = 1.83 SharedCPU = 1 Capped = 0 EC_User% = 8.49 EC_Sys% = 9.17 EC_Wait% = 0.01 EC_Idle% = 9.29 VP_User% = 4.81 VP_Sys% = 5.20 VP_Wait% = 0.01 VP_Idle% = 5.27 Folded = 0 Pool_id = ?

I have some samples from other NMON files where everything just matches up and for those it lines up the same way and with Pool_id as zero.

Perhaps I can just initialize it to zero or something.

madmaze commented 10 years ago

for now I am just zeroing it and throwing a message to the debug log. I'd still be curious why some versions of NMON show this behavior.. perhaps it has the to with the version of AIX? dunno.