On 08.07.2013 21:20, John Ferlan wrote: > 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(-) > ACK series modulo patch 05/10 where three questions need to be answered first: - Why do we call qemuMonitorSetMemoryStatsPeriod in qemuProcessReconnect? - Why do we try to gather polling interval prior setting it? - I guess we should error out there as well. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list