diff mbox

migration: show average throughput when migration finishes

Message ID 1399884360-26064-1-git-send-email-pl@kamp.de
State New
Headers show

Commit Message

Peter Lieven May 12, 2014, 8:46 a.m. UTC
currently the value of the throughput field contains whatever
was the last calculated throughput shortly before the migration
finished.

This patch updates the post migration contents of the field to
the average throughput.

Signed-off-by: Peter Lieven <pl@kamp.de>

Comments

Paolo Bonzini May 12, 2014, 2:29 p.m. UTC | #1
Il 12/05/2014 10:46, Peter Lieven ha scritto:
> currently the value of the throughput field contains whatever
> was the last calculated throughput shortly before the migration
> finished.
>
> This patch updates the post migration contents of the field to
> the average throughput.
>
> Signed-off-by: Peter Lieven <pl@kamp.de>
>
> diff --git a/migration.c b/migration.c
> index 52cda27..3fc03d6 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -662,8 +662,13 @@ static void *migration_thread(void *opaque)
>      qemu_mutex_lock_iothread();
>      if (s->state == MIG_STATE_COMPLETED) {
>          int64_t end_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
> +        uint64_t transferred_bytes = qemu_ftell(s->file);
>          s->total_time = end_time - s->total_time;
>          s->downtime = end_time - start_time;
> +        if (s->total_time) {
> +            s->mbps = (((double) transferred_bytes * 8.0) /
> +                       ((double) s->total_time)) / 1000;
> +        }
>          runstate_set(RUN_STATE_POSTMIGRATE);
>      } else {
>          if (old_vm_running) {
>

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
diff mbox

Patch

diff --git a/migration.c b/migration.c
index 52cda27..3fc03d6 100644
--- a/migration.c
+++ b/migration.c
@@ -662,8 +662,13 @@  static void *migration_thread(void *opaque)
     qemu_mutex_lock_iothread();
     if (s->state == MIG_STATE_COMPLETED) {
         int64_t end_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
+        uint64_t transferred_bytes = qemu_ftell(s->file);
         s->total_time = end_time - s->total_time;
         s->downtime = end_time - start_time;
+        if (s->total_time) {
+            s->mbps = (((double) transferred_bytes * 8.0) /
+                       ((double) s->total_time)) / 1000;
+        }
         runstate_set(RUN_STATE_POSTMIGRATE);
     } else {
         if (old_vm_running) {