Hi On Fri, Jun 23, 2017 at 3:03 PM Tomáš Golembiovský <tgole...@redhat.com> wrote:
> This is just a draft, or a request for comments if you will. > > This patch sets drafts the support of sending events by QEMU Guest Agent. > Events can plan important role in monitoring of the guest OS behaviour. The > range of use cases ranges from events important for scheduling, e.g. > memory and > CPU usage statistics, to things like changes to IP addresses on network > interfaces to for example changes in the list of active users. > > For now the patch set adds single periodic callback function to the GA main > loop that can perform checks and trigger events that have occured since > previous run of the callback. > > We can of course take it one step further and add a general framwork for > periodically running any of the already implemented commands. Add a > function > that would maintain a list of registered checks. Client would use some > command > (register-monitor-command) passing it a command name and timeout in > seconds and > the monitoring handler would then run the specified command and report the > result... or report only if the return value changed since previous > invocation. > This feature would remove part of the communication overhead between > client and > GA. > > So before I invest any more time in either of these approaches, tell me. > Would > somethign like this be wanted or is that too controversial? Any other > thoughts > and ideas? > > It doesn't feel wrong, but Is there really too much overhead and/or latency if a request is periodic from the client? ie did you do some measurements before coming to this proposal? Tomáš Golembiovský (3): > qemu-ga: add support for events > qemu-ga: add simple event reporting memory statistics > qemu-ga: add support for periodic command runner > > Makefile | 7 +++- > qga/Makefile.objs | 2 +- > qga/channel-posix.c | 8 +++++ > qga/channel-win32.c | 6 ++++ > qga/channel.h | 1 + > qga/guest-agent-core.h | 1 + > qga/main.c | 98 > ++++++++++++++++++++++++++++++++++++++++++++++++++ > qga/qapi-event.json | 35 ++++++++++++++++++ > qga/qapi-schema.json | 2 ++ > 9 files changed, 158 insertions(+), 2 deletions(-) > create mode 100644 qga/qapi-event.json > > -- > 2.13.1 > > > -- Marc-André Lureau