I need to get average daily statistics for given VM. VM runs on VMware vSphere 5.1. I use PHP and call methods through SOAP.
My code looks like this:
$result = $this
->soapClient
->QueryPerf( array(
'_this' => $this->serviceContent->perfManager,
'querySpec' => array(
'entity' => $object,
'startTime' => $startTime->format( 'c' ),
'intervalId' => 86400,
),
) );
Returned results for CPU usage as a percentage during the interval and memory usage as percentage of total configured or available memory look very strange.
CPU result:
stdClass::__set_state(array(
'groupInfo' =>
stdClass::__set_state(array(
'label' => 'CPU',
'summary' => 'CPU',
'key' => 'cpu',
)),
'nameInfo' =>
stdClass::__set_state(array(
'label' => 'Usage',
'summary' => 'CPU usage as a percentage during the interval',
'key' => 'usage',
)),
'rollupType' => 'average',
'statsType' => 'rate',
'unitInfo' =>
stdClass::__set_state(array(
'label' => 'Percent',
'summary' => 'Percentage',
'key' => 'percent',
)),
'instance' => '',
'value' => 349,
)),
The unit is percent but the value is 349.
Memory result:
stdClass::__set_state(array(
'groupInfo' =>
stdClass::__set_state(array(
'label' => 'Memory',
'summary' => 'Memory',
'key' => 'mem',
)),
'nameInfo' =>
stdClass::__set_state(array(
'label' => 'Usage',
'summary' => 'Memory usage as percentage of total configured or available memory',
'key' => 'usage',
)),
'rollupType' => 'average',
'statsType' => 'absolute',
'unitInfo' =>
stdClass::__set_state(array(
'label' => 'Percent',
'summary' => 'Percentage',
'key' => 'percent',
)),
'instance' => '',
'value' => 1193,
)),
The unit is also percent but the value is 1193.
The other values have the same issues.
Questions: What am I doing wrong? How to get valid results?
Note: these results are slightly postformatted, but no calculations or other modifications of values are performed on the client side.
look at the docs. You should divide percent value by 100, to get real percent value.