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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list