[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 0/3] qemu-ga: support for sending events
From: |
Tomáš Golembiovský |
Subject: |
Re: [Qemu-devel] [RFC 0/3] qemu-ga: support for sending events |
Date: |
Sun, 25 Jun 2017 23:25:17 +0200 |
Hi,
On Fri, 23 Jun 2017 13:25:34 +0000
Marc-André Lureau <address@hidden> wrote:
> Hi
>
> On Fri, Jun 23, 2017 at 3:03 PM Tomáš Golembiovský <address@hidden>
> 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?
No, I didn't do any measurements. And it may be even true that in the
grand scheme of things the overhead/latency may be insignificant, if we
imagine a client that repeatedly calls about 5 to 10 commands every 5 or
10 seconds. Still, it just feels like a more correct approach to me. But
that may be just my feeling, that's why I brought this to the list to
get the opinion of others.
Tomas
>
> 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
--
Tomáš Golembiovský <address@hidden>