> Libvirt has been using it when available (although reluctantly, as it risks > hanging on an uncooperative guest); and while libvirt can be patched to call 6 > QOM commands in a row to query six different QOM stats, I still think it > would be nicer to add a command that provides all the stats at once. In > particular, when calling 6 commands in series, you no longer have an atomic > picture of the guest (the polling interval could hit between two QOM queries, > resulting in a combined set of statistics that has no counterpart to the > transition of states that the guest actually went through). On the other > hand, > since the stats are already polling-based, and since it requires cooperation > from the guest, not having a guarantee of an atomic set of stats is not really > much of a loss.
I already implemented that and sent patches to this list. The patch is more or less trivial - we simply read the cached values. It does not hang on an uncooperative guest, and works without any problems. But unfortunately, Luiz dislikes the patch (I do not understand why). So I stopped posting it.