Inconsistency between perfmonCollectCounterData and RTMT values

Version 1
    This document was generated from CDN thread

    Created by: Mohamed Nadjib HAMMOUDI on 16-05-2012 05:03:17 AM
    Hello,

    I'm developping AXL access to get perfmon objects (Processor object for instance) and it works just fine, but when comparing values returned from Perfmon web service (perfmonCollectCounterData operation) and those returned from RTMT it is clear that they are wrong because all values are 0!!!
    Here is the XML returned from the PerfmonPort.
     

     
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <ns1erfmonCollectCounterDataResponse xmlns:ns1="http://schemas.cisco.com/ast/soap/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <ArrayOfCounterInfo xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" soapenc:arrayType="ns1:CounterInfoType[40]" xsi:type="soapenc:Array">
     
     
    <item xsi:type="ns1:CounterInfoType">
    <Name xsi:type="ns1:CounterNameType">\\10.207.16.1\Processor(_Total)\% CPU Time</Name>
    <Value xsi:type="xsd:long">0</Value>
    <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
    </item>
    <item xsi:type="ns1:CounterInfoType">
    <Name xsi:type="ns1:CounterNameType">\\10.207.16.1\Processor(_Total)\IOwait Percentage</Name>
    <Value xsi:type="xsd:long">0</Value>
    <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
    </item>
    <item xsi:type="ns1:CounterInfoType">
    <Name xsi:type="ns1:CounterNameType">\\10.207.16.1\Processor(_Total)\Idle Percentage</Name>
    <Value xsi:type="xsd:long">0</Value>
    <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
    </item>
    <item xsi:type="ns1:CounterInfoType">
    <Name xsi:type="ns1:CounterNameType">\\10.207.16.1\Processor(_Total)\Irq Percentage</Name>
    <Value xsi:type="xsd:long">0</Value>
    <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
    </item>
    <item xsi:type="ns1:CounterInfoType">
    <Name xsi:type="ns1:CounterNameType">\\10.207.16.1\Processor(_Total)\Nice Percentage</Name>
    <Value xsi:type="xsd:long">0</Value>
    <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
    </item>
    <item xsi:type="ns1:CounterInfoType">
    <Name xsi:type="ns1:CounterNameType">\\10.207.16.1\Processor(_Total)\Softirq Percentage</Name>
    <Value xsi:type="xsd:long">0</Value>
    <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
    </item>
    <item xsi:type="ns1:CounterInfoType">
    <Name xsi:type="ns1:CounterNameType">\\10.207.16.1\Processor(_Total)\System Percentage</Name>
    <Value xsi:type="xsd:long">0</Value>
    <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
    </item>
    <item xsi:type="ns1:CounterInfoType">
    <Name xsi:type="ns1:CounterNameType">\\10.207.16.1\Processor(_Total)\User Percentage</Name>
    <Value xsi:type="xsd:long">0</Value>
    <CStatus xsi:type="xsd:unsignedInt">1</CStatus>
    </item>
    </ArrayOfCounterInfo>
    </ns1erfmonCollectCounterDataResponse>
    </soapenv:Body>
    </soapenv:Envelope>
     


    Thanks,
    Nadjib

    Subject: RE: Inconsistency between perfmonCollectCounterData and RTMT values
    Replied by: Mohamed Nadjib HAMMOUDI on 16-05-2012 11:28:11 AM
    Hello,

    Finally i found the explanation. Percentage counters require two samples to determine the average between the samples, but you have to use the session-based Perfmon operation (perfmonCollectSessionData) with 4 sec minimum between the samples.

    Regards