[libvirt] [RFC][PATCHv1 2/5] libvirt - new API for getting percpu statistics of VM
KAMEZAWA Hiroyuki
kamezawa.hiroyu at jp.fujitsu.com
Fri Apr 15 07:43:03 UTC 2011
On Fri, 15 Apr 2011 09:43:15 +0200
Matthias Bolte <matthias.bolte at googlemail.com> wrote:
> 2011/4/15 KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>:
> > Per (host) cpu activity of VMs are very insterested numbers
> > when running VMs on large SMPs. virt-top -1 mode tries to
> > provide the information. (But it's not implemented.)
> >
> > This patch adds a libvirt interface to get per cpu statistics
> > of each nodes. This patch just adds an interface and driver
> > entry points. So,
> > - doesn't include patches for python.
> > - doesn't include any driver.
> >
> > Following patches will add some drivers and codes for python.
> >
> > Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
> > ---
> > include/libvirt/libvirt.h.in | 13 ++++++++++
> > src/driver.h | 6 ++++
> > src/esx/esx_driver.c | 1 +
> > src/libvirt.c | 55 ++++++++++++++++++++++++++++++++++++++++++
> > src/libvirt_public.syms | 4 +++
> > src/libxl/libxl_driver.c | 1 +
> > src/lxc/lxc_driver.c | 1 +
> > src/openvz/openvz_driver.c | 1 +
> > src/phyp/phyp_driver.c | 1 +
> > src/qemu/qemu_driver.c | 1 +
> > src/remote/remote_driver.c | 1 +
> > src/test/test_driver.c | 1 +
> > src/uml/uml_driver.c | 1 +
> > src/vbox/vbox_tmpl.c | 1 +
> > src/vmware/vmware_driver.c | 1 +
> > src/xen/xen_driver.c | 1 +
> > src/xenapi/xenapi_driver.c | 1 +
> > 17 files changed, 91 insertions(+), 0 deletions(-)
> >
> > diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> > index 5783303..6b9292c 100644
> > --- a/include/libvirt/libvirt.h.in
> > +++ b/include/libvirt/libvirt.h.in
> > @@ -400,6 +400,13 @@ struct _virDomainMemoryStat {
> >
> > typedef virDomainMemoryStatStruct *virDomainMemoryStatPtr;
> >
> > +typedef struct _virDomainPcpuStat virDomainPcpuStatStruct;
> > +
> > +struct _virDomainPcpuStat {
> > + unsigned long long cpuTime;
> > +};
> > +
>
> NACK to adding another public struct to the API.
Oh, yes. I searched a sutiable existing API but cannot found.
Maybe adding new enum to Usui's work will be good but I need an array.
Hmm, returning an array of unsigned long long is ok ?
> It's not expendable.
> As a stylistic nit pleas don't use the term PCPU as this looks like
> "Physical CPU". Just call it virDomainPerVcpuStat at least.
>
Ah, no, this is PerPhysicalStat
> Also do you really need the absolute CPU time?
yes, for virt-top -1.
> As noted elsewhere,
> this is in fact not implementable for ESX. But ESX can provide the
> virtual CPU utilization in MHz and percent.
>
I need physical cpu utilization by domain.
> See the virNodeGetCpuTime series [1] for a better approach.
>
> [1] https://www.redhat.com/archives/libvir-list/2011-April/msg00702.html
>
Thank you.
-Kame
More information about the libvir-list
mailing list