[libvirt] [PATCH 1/6] virNodeGetCpuTime: Expose new API

Matthias Bolte matthias.bolte at googlemail.com
Fri Apr 1 18:22:17 UTC 2011


2011/4/1 Eric Blake <eblake at redhat.com>:
> On 03/31/2011 07:55 PM, Minoru Usui wrote:
>> virNodeGetCpuTime: Expose new API
>>
>>  include/libvirt/libvirt.h.in |   26 ++++++++++++++++++++++++++
>>  src/libvirt_public.syms      |    1 +
>>  2 files changed, 27 insertions(+), 0 deletions(-)
>
>>
>> +/**
>> + * virNodeCpuTime:
>> + *
>> + * a virNodeCpuTime is a structure filled by virNodeGetCpuTime() and providing
>> + * the information for the cpu time of Node.
>> + */
>> +
>> +typedef struct _virNodeCpuTime virNodeCpuTime;
>> +
>> +struct _virNodeCpuTime {
>> +    unsigned long long user;
>> +    unsigned long long system;
>> +    unsigned long long idle;
>> +    unsigned long long iowait;
>> +};
>
> Can we portably get all of this information on Windows?  If not, how do
> you express which values we don't know how to obtain?
>

In the context of ESX I vote against this absolute CPU time values.
ESX provides this values relative to a 20 second timeslots with 1 hour
of history. This makes it nearly impossible to obtain the absolute CPU
time. The same problem already exists for the domain's virtual CPU
time.

When you look at virt-top's usage of the domain's virtual CPU time,
you see that it actually doesn't really care about the absolute value,
but deduces the CPU utilization from it. I suggest that we find a
different representation for this information that is not by
definition impossible to implement for ESX.

Matthias




More information about the libvir-list mailing list