[libvirt] [PATCHv2 00/11] bulk stats: QEMU implementation

Francesco Romani fromani at redhat.com
Tue Sep 2 12:31:46 UTC 2014


This patchset enhances the QEMU support
for the new bulk stats API to include
equivalents of these APIs:

virDomainBlockInfo
virDomainGetInfo - for balloon stats
virDomainGetCPUStats
virDomainBlockStatsFlags
virDomainInterfaceStats
virDomainGetVcpusFlags
virDomainGetVcpus

This subset of API is the one oVirt relies on.
Scale/stress test on an oVirt test environment is in progress.

changes in v2: polishing and optimizations.
- incorporated feedback from Li Wei (thanks)
- added documentation
- optimized block group to gather all the information with just
  one call to QEMU monitor
- stripped to bare bones merged the 'block info' group into the
  'block' group - oVirt actually needs just one stat from there
- reorganized the keys to be more consistent and shorter.

The patchset is organized as follows:
- the first 4 patches do refactoring to extract internal helper
  functions to be used by the old API and by the new bulk one.
  For block stats on helper is actually added instead of extracted.
- since some groups require access to the QEMU monitor, one patch
  extend the internal interface to easily accomodate that
- finally, the last six patches implement the support for the
  bulk API.

Francesco Romani (11):
  qemu: extract helper to get the current balloon
  qemu: extract helper to gather vcpu data
  qemu: add helper to get the block stats
  qemu: report highest offset into block stats
  qemu: bulk stats: pass connection to workers
  qemu: bulk stats: implement CPU stats group
  qemu: bulk stats: implement balloon group
  qemu: bulk stats: implement VCPU group
  qemu: bulk stats: implement interface group
  qemu: bulk stats: implement block group
  qemu: bulk stats: add block allocation information

 include/libvirt/libvirt.h.in |   5 +
 src/libvirt.c                |  47 ++++
 src/qemu/qemu_driver.c       | 500 +++++++++++++++++++++++++++++++++++++++----
 src/qemu/qemu_monitor.c      |  23 ++
 src/qemu/qemu_monitor.h      |  19 ++
 src/qemu/qemu_monitor_json.c | 125 +++++++----
 src/qemu/qemu_monitor_json.h |   4 +
 7 files changed, 639 insertions(+), 84 deletions(-)

-- 
1.9.3




More information about the libvir-list mailing list