[libvirt] Regarding Migration Statistics

Martin Kletzander mkletzan at redhat.com
Thu Jan 12 07:06:34 UTC 2017


On Tue, Jan 10, 2017 at 08:07:13PM +0530, Anubhav Guleria wrote:
>Greetings,
>
>I am writing a code using libvirt API to migrate VM between two physical
>hosts *(QEMU/KVM) , *say some *n *number of times.
>
>*1)* I am using right now* virDomainPtr virDomainMigrate (.......) *and to
>calculate the total migration time I am using something like this:
>
>*clock_gettime(CLOCK_MONOTONIC_RAW,&begin);  *
> *migrate*(domainToMigrate,nodeToMigrate);
>
>*clock_gettime(CLOCK_MONOTONIC_RAW,&end);*
>
>
>
>*Total Migration Time = end.tv_sec-begin.tv_sec*
>
>Is this correct way to calculate total migration time. And is there some
>way to calculate the downtime (not how to set it)?
>

Libvirt provides this information, I believe in virDomainGetJobStats().
If you call this function with flags |= VIR_DOMAIN_JOB_STATS_COMPLETED,
it will return various information on a recently completed job
(e.g. migration).

You can also register a callback for VIR_DOMAIN_EVENT_ID_JOB_COMPLETED
event, which will tell you all that right when the migration is completed.


>*2) *I am interested in identifying in particular other statistics of
>migration like :
>*Number of iterations in Pre Copy*, *Memory transferred in each iteration*
>etc.
>I was going through the API and found* virDomainJobInfo
><http://libvirt.org/html/libvirt-libvirt-domain.html#virDomainJobInfo> and
>virDomainGetJobStats
><http://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetJobStats>
>*functions.But
>how to use them is not very clear. Can anyone point me to right place to
>achieve this objective?
>

int type = -1, nparams = 0;
virTypedParameterPtr params = NULL;

virDomainGetJobStats(domain, &type, &params, &nparams,
                     VIR_DOMAIN_JOB_STATS_COMPLETED)

This should be enough ^^.  Since migration should be a job on bothe
source and destination, it may return different data, I'm not too sure
about that.  You'll have to try that out or hope that someone else will
answer as well, sorry.

>Thanks in advance.
>And sorry if that was too silly to ask.
>
>Anubhav

>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170112/ed117b25/attachment-0001.sig>


More information about the libvir-list mailing list