
2011/4/1 Eric Blake <eblake@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