[libvirt] [PATCH 4/5] qemu: Report more migration statistics
Jiri Denemark
jdenemar at redhat.com
Fri Jan 8 17:51:50 UTC 2016
On Fri, Jan 08, 2016 at 15:56:02 +0100, Peter Krempa wrote:
> On Fri, Jan 08, 2016 at 10:49:37 +0100, Jiri Denemark wrote:
> > memory_dirty_rate corresponds to dirty-pages-rate in QEMU and
> > memory_iteration is what QEMU reports in dirty-sync-count.
> >
> > Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
>
> Looks more like a feature rather than just "cleanup"
>
> > ---
> > include/libvirt/libvirt-domain.h | 19 +++++++++++++++++++
> > src/qemu/qemu_domain.c | 8 ++++++++
> > src/qemu/qemu_migration.c | 12 ++++++++++++
> > src/qemu/qemu_monitor.h | 2 ++
> > src/qemu/qemu_monitor_json.c | 4 ++++
> > tools/virsh-domain.c | 16 ++++++++++++++++
> > 6 files changed, 61 insertions(+)
> >
> > diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
> > index a1ea6a5..d26faa5 100644
> > --- a/include/libvirt/libvirt-domain.h
> > +++ b/include/libvirt/libvirt-domain.h
> > @@ -2724,6 +2724,25 @@ int virDomainAbortJob(virDomainPtr dom);
> > */
> > # define VIR_DOMAIN_JOB_MEMORY_BPS "memory_bps"
> >
> > +/** VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE:
> > + *
> > + * virDomainGetJobStats field: number of memory pages dirtied by the guest
> > + * per second, as VIR_TYPED_PARAM_ULLONG. This statistics makes sense only
> > + * when live migration is running.
>
> Do we document somewhere how to convert page sizes into memory sizes (or
> rather how big the pages are/whether hugepages count as 1 or more
> etc...?)
No we don't :-) And QEMU doesn't document that either. Honestly I doubt
anyone would even try to convert this into memory sizes. It's enough to
monitor the trend to see whether a migration is converging or not. If
the value is decreasing, there is a chance migration will eventually
finish, otherwise, it's obvious that the guest is dirtying more memory
than QEMU can transfer to the destination host.
> > + */
> > +# define VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE "memory_dirty_rate"
> > +
> > +/**
> > + * VIR_DOMAIN_JOB_MEMORY_ITERATION:
> > + *
> > + * virDomainGetJobStats field: current iteration over domain's memory
> > + * during live migration, as VIR_TYPED_PARAM_ULLONG. This is set to zero
> > + * when memory starts to be transferred and the value is increased by one
> > + * every time a new iteration is started to transfer memory pages dirtied
> > + * since the last iteration.
> > + */
> > +# define VIR_DOMAIN_JOB_MEMORY_ITERATION "memory_iteration"
>
> ACK
I pushed this series, thanks for the review.
Jirka
More information about the libvir-list
mailing list