All of lore.kernel.org
 help / color / mirror / Atom feed
From: Orit Wasserman <owasserm@redhat.com>
To: Juan Quintela <quintela@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 5/8] migration: print total downtime for final phase of migration
Date: Tue, 21 Aug 2012 13:57:18 +0300	[thread overview]
Message-ID: <5033698E.7060406@redhat.com> (raw)
In-Reply-To: <1345288635-1369-6-git-send-email-quintela@redhat.com>

On 08/18/2012 02:17 PM, Juan Quintela wrote:
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
>  hmp.c            | 4 ++++
>  migration.c      | 6 +++++-
>  migration.h      | 1 +
>  qapi-schema.json | 7 ++++++-
>  qmp-commands.hx  | 3 +++
>  5 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/hmp.c b/hmp.c
> index 81c8acb..8f24d9d 100644
> --- a/hmp.c
> +++ b/hmp.c
> @@ -151,6 +151,10 @@ void hmp_info_migrate(Monitor *mon)
>          monitor_printf(mon, "Migration status: %s\n", info->status);
>          monitor_printf(mon, "total time: %" PRIu64 " milliseconds\n",
>                         info->total_time);
> +        if (info->has_downtime) {
> +            monitor_printf(mon, "downtime: %" PRIu64 " milliseconds\n",
> +                           info->downtime);
> +        }
>      }
> 
>      if (info->has_ram) {
> diff --git a/migration.c b/migration.c
> index 159728d..49cd336 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -194,6 +194,8 @@ MigrationInfo *qmp_query_migrate(Error **errp)
>          info->has_status = true;
>          info->status = g_strdup("completed");
>          info->total_time = s->total_time;
> +        info->has_downtime = true;
> +        info->downtime = s->downtime;
> 
>          info->has_ram = true;
>          info->ram = g_malloc0(sizeof(*info->ram));
> @@ -326,9 +328,10 @@ static void migrate_fd_put_ready(void *opaque)
>          migrate_fd_error(s);
>      } else if (ret == 1) {
>          int old_vm_running = runstate_is_running();
> -        int64_t end_time;
> +        int64_t start_time, end_time;
> 
>          DPRINTF("done iterating\n");
> +        start_time = qemu_get_clock_ms(rt_clock);
>          qemu_system_wakeup_request(QEMU_WAKEUP_REASON_OTHER);
>          vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
> 
> @@ -339,6 +342,7 @@ static void migrate_fd_put_ready(void *opaque)
>          }
>          end_time = qemu_get_clock_ms(rt_clock);
>          s->total_time = end_time - s->total_time;
> +        s->downtime = end_time - start_time;
>          if (s->state != MIG_STATE_COMPLETED) {
>              if (old_vm_running) {
>                  vm_start();
> diff --git a/migration.h b/migration.h
> index a9852fc..3462917 100644
> --- a/migration.h
> +++ b/migration.h
> @@ -40,6 +40,7 @@ struct MigrationState
>      void *opaque;
>      MigrationParams params;
>      int64_t total_time;
> +    int64_t downtime;
>      bool enabled_capabilities[MIGRATION_CAPABILITY_MAX];
>      int64_t xbzrle_cache_size;
>  };
> diff --git a/qapi-schema.json b/qapi-schema.json
> index f83cf22..29f601a 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -349,13 +349,18 @@
>  #        If migration has ended, it returns the total migration
>  #        time. (since 1.2)
>  #
> +# @downtime: #optional only present when migration finishes correctly
> +#        total downtime in milliseconds for the guest.
> +#        (since 1.2)
will it make it to 1.2 ? if not than 1.3 
> +#
>  # Since: 0.14.0
>  ##
>  { 'type': 'MigrationInfo',
>    'data': {'*status': 'str', '*ram': 'MigrationStats',
>             '*disk': 'MigrationStats',
>             '*xbzrle-cache': 'XBZRLECacheStats',
> -           'total-time': 'int'} }
> +           'total-time': 'int',
> +           '*downtime': 'int'} }
> 
>  ##
>  # @query-migrate
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index 8671bf3..b5ca99f 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -2242,6 +2242,8 @@ The main json-object contains the following:
>  - "total-time": total amount of ms since migration started.  If
>                  migration has ended, it returns the total migration
>  		 time (json-int)
> +- "downtime": only present when migration has finished correctly
> +                total amount in ms for downtime that happened (json-int)
>  - "ram": only present if "status" is "active", it is a json-object with the
>    following RAM information (in bytes):
>           - "transferred": amount transferred (json-int)
> @@ -2279,6 +2281,7 @@ Examples:
>            "remaining":123,
>            "total":246,
>            "total-time":12345,
> +          "expected-downtime":12345,
>            "duplicate":123,
>            "normal":123,
>            "normal-bytes":123456
> 

  parent reply	other threads:[~2012-08-21 10:57 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-18 11:17 [Qemu-devel] [PATCH v2 0/8] Migration stats Juan Quintela
2012-08-18 11:17 ` [Qemu-devel] [PATCH 1/8] buffered_file: g_realloc() can't fail Juan Quintela
2012-08-21 10:40   ` Orit Wasserman
2012-08-18 11:17 ` [Qemu-devel] [PATCH 2/8] fix migration sync Juan Quintela
2012-08-21 10:52   ` Orit Wasserman
2012-08-18 11:17 ` [Qemu-devel] [PATCH 3/8] migration: move total_time from ram stats to migration info Juan Quintela
2012-08-18 13:02   ` [Qemu-devel] For 1.2: " Eric Blake
2012-08-21 14:42     ` Luiz Capitulino
2012-08-21 15:00       ` Juan Quintela
2012-08-21 18:24         ` Luiz Capitulino
2012-08-22 13:22     ` Anthony Liguori
2012-08-22 14:48       ` Eric Blake
2012-08-21 10:53   ` [Qemu-devel] " Orit Wasserman
2012-08-18 11:17 ` [Qemu-devel] [PATCH 4/8] migration: store end_time in a local variable Juan Quintela
2012-08-18 11:17 ` [Qemu-devel] [PATCH 5/8] migration: print total downtime for final phase of migration Juan Quintela
2012-08-18 13:04   ` Eric Blake
2012-08-21 10:57   ` Orit Wasserman [this message]
2012-08-18 11:17 ` [Qemu-devel] [PATCH 6/8] migration: rename expected_time to expected_downtime Juan Quintela
2012-08-21 10:57   ` Orit Wasserman
2012-08-18 11:17 ` [Qemu-devel] [PATCH 7/8] migration: export migrate_get_current() Juan Quintela
2012-08-21 10:58   ` Orit Wasserman
2012-08-18 11:17 ` [Qemu-devel] [PATCH 8/8] migration: print expected downtime in info migrate Juan Quintela
2012-08-18 13:05   ` Eric Blake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5033698E.7060406@redhat.com \
    --to=owasserm@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.