[libvirt] [PATCHv6 01/11] qemu: bulk stats: extend internal collection API
Eric Blake
eblake at redhat.com
Tue Sep 16 21:04:12 UTC 2014
On 09/15/2014 09:42 AM, Peter Krempa wrote:
> From: Francesco Romani <fromani at redhat.com>
>
> Future patches which will implement more bulk stats groups for QEMU will
> need to access the connection object.
>
> To accomodate that, a few changes are needed:
s/accomodate/accommodate/
>
> * enrich internal prototype to pass qemu driver object
>
> * add per-group flag to mark if one collector needs monitor access or not
>
> * If at least one collector of the requested stats needs monitor access
> we must start a query job for each domain. The specific collectors
> will run nested monitor jobs inside that.
>
> * If the job can't be acquired we pass flags to the collector so
> specific collectors that need monitor access can be skipped in order
> to gather as much data as is possible.
>
> Signed-off-by: Francesco Romani <fromani at redhat.com>
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
>
> Notes:
> Version 6:
> - renamed HAVE_MONITOR to HAVE_JOB
>
> src/qemu/qemu_driver.c | 63 +++++++++++++++++++++++++++++++++++++++++++-------
> 1 file changed, 55 insertions(+), 8 deletions(-)
>
> +static bool
> +qemuDomainGetStatsNeedMonitor(unsigned int stats)
> +{
> + size_t i;
> +
> + for (i = 0; qemuDomainGetStatsWorkers[i].func; i++)
> + if (stats & qemuDomainGetStatsWorkers[i].stats)
> + if (qemuDomainGetStatsWorkers[i].monitor)
Could combine two 'if' into one with &&, but as-is works as well.
> @@ -17525,12 +17557,22 @@ qemuConnectGetAllDomainStats(virConnectPtr conn,
> !virConnectGetAllDomainStatsCheckACL(conn, dom->def))
> continue;
>
> - if (qemuDomainGetStats(conn, dom, stats, &tmp, flags) < 0)
> - goto cleanup;
> + if (HAVE_JOB(domflags) &&
> + qemuDomainObjBeginJob(driver, dom, QEMU_JOB_QUERY) < 0)
Indentation is off.
ACK with nit fixed.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 539 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140916/69347f81/attachment-0001.sig>
More information about the libvir-list
mailing list