This patchset replaces:
https://www.redhat.com/archives/libvir-list/2013-July/msg00108.html
Changes since V1:
* Remove the external (eg, qemu_monitor.{c,h}) API's to the qom-list,
qom-get, qom-set interfaces
* Handle errors in virXPathInt() return checking domain_conf.c
* Move the 'period' from _qemuDomainObjPrivate into _qemuMonitor
* Move/rename qemuProcessFindBalloonObjectPath from qemu_process.c
into qemu_monitor.c as qemuMonitorFindBalloonObjectPath()
* Create qemuMonitorJSONSetMemoryStatsPeriod() in qemu_monitor_json.c from
parts of prior change to add qemuProcessUpdateBalloonStatsPeriod()
in qemu_process.c and hav
* Add qemuMonitorSetMemoryStatsPeriod() in qemu_monitor.c to set
the collection period. Adjust the code to take parts of prior change
and make check for balloon path in this path (set if necessary).
* Adjust code in qemuProcessReconnect(), qemuProcessStart(), and
qemuProcessAttach() to call qemuMonitorSetMemoryStatsPeriod()
* Adjust qemuMonitorJSONGetMemoryStats() to get the balloon stats once
the "actual" stat is collected from qemuMonitorJSONGetBalloonInfo().
Reviewer note: The prior code to get "actual" was a duplicate of the
BalloonInfo code. Since "balloon-info" is where the actual memory is
still stored it still must be called as that data is not present in
the balloon stats qom-get "stats" fetch implemented as the new API
qemuMonitorJSONGetBalloonStats().
* Avoid overloading virDomainSetMemoryFlags()...
* Create/use virDomainSetMemoryStatsPeriodFlags() to set the collection
period dynamically from "virsh dommemstats" using the --period qualifier.
John Ferlan (10):
Add qemuMonitorJSONGetObjectListPaths() method for QMP qom-list
command
Add qemuMonitorJSONGetObjectProperty() method for QMP qom-get command
Add qemuMonitorJSONSetObjectProperty() method for QMP qom-set command
Add 'period' for Memballoon statistics gathering capability
Determine whether to start balloon memory stats gathering.
Add capability to fetch balloon stats
Add new public API virDomainSetMemoryStatsPeriodFlags
Specify remote protocol for virDomainSetMemoryStatsPeriodFlags
Implement the virDomainSetMemoryStatsPeriodFlags for QEMU driver
Allow balloon driver collection to be adjusted dynamically
docs/formatdomain.html.in | 19 ++
docs/schemas/domaincommon.rng | 7 +
include/libvirt/libvirt.h.in | 3 +
src/conf/domain_conf.c | 44 +++-
src/conf/domain_conf.h | 1 +
src/driver.h | 6 +
src/libvirt.c | 65 ++++++
src/libvirt_public.syms | 5 +
src/qemu/qemu_driver.c | 66 ++++++
src/qemu/qemu_monitor.c | 133 ++++++++++-
src/qemu/qemu_monitor.h | 2 +
src/qemu/qemu_monitor_json.c | 498 ++++++++++++++++++++++++++++++++----------
src/qemu/qemu_monitor_json.h | 64 ++++++
src/qemu/qemu_process.c | 21 +-
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 15 +-
src/remote_protocol-structs | 6 +
tests/qemumonitorjsontest.c | 186 ++++++++++++++++
tools/virsh-domain-monitor.c | 66 +++++-
19 files changed, 1085 insertions(+), 123 deletions(-)
--
1.8.1.4