فهرست منبع

migration: move total_time from ram stats to migration info

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Juan Quintela 13 سال پیش
والد
کامیت
7aa939af39
4فایلهای تغییر یافته به همراه16 افزوده شده و 15 حذف شده
  1. 2 2
      hmp.c
  2. 4 3
      migration.c
  3. 7 7
      qapi-schema.json
  4. 3 3
      qmp-commands.hx

+ 2 - 2
hmp.c

@@ -149,6 +149,8 @@ void hmp_info_migrate(Monitor *mon)
 
 
     if (info->has_status) {
     if (info->has_status) {
         monitor_printf(mon, "Migration status: %s\n", info->status);
         monitor_printf(mon, "Migration status: %s\n", info->status);
+        monitor_printf(mon, "total time: %" PRIu64 " milliseconds\n",
+                       info->total_time);
     }
     }
 
 
     if (info->has_ram) {
     if (info->has_ram) {
@@ -158,8 +160,6 @@ void hmp_info_migrate(Monitor *mon)
                        info->ram->remaining >> 10);
                        info->ram->remaining >> 10);
         monitor_printf(mon, "total ram: %" PRIu64 " kbytes\n",
         monitor_printf(mon, "total ram: %" PRIu64 " kbytes\n",
                        info->ram->total >> 10);
                        info->ram->total >> 10);
-        monitor_printf(mon, "total time: %" PRIu64 " milliseconds\n",
-                       info->ram->total_time);
         monitor_printf(mon, "duplicate: %" PRIu64 " pages\n",
         monitor_printf(mon, "duplicate: %" PRIu64 " pages\n",
                        info->ram->duplicate);
                        info->ram->duplicate);
         monitor_printf(mon, "normal: %" PRIu64 " pages\n",
         monitor_printf(mon, "normal: %" PRIu64 " pages\n",

+ 4 - 3
migration.c

@@ -166,14 +166,15 @@ MigrationInfo *qmp_query_migrate(Error **errp)
     case MIG_STATE_ACTIVE:
     case MIG_STATE_ACTIVE:
         info->has_status = true;
         info->has_status = true;
         info->status = g_strdup("active");
         info->status = g_strdup("active");
+        info->has_total_time = true;
+        info->total_time = qemu_get_clock_ms(rt_clock)
+            - s->total_time;
 
 
         info->has_ram = true;
         info->has_ram = true;
         info->ram = g_malloc0(sizeof(*info->ram));
         info->ram = g_malloc0(sizeof(*info->ram));
         info->ram->transferred = ram_bytes_transferred();
         info->ram->transferred = ram_bytes_transferred();
         info->ram->remaining = ram_bytes_remaining();
         info->ram->remaining = ram_bytes_remaining();
         info->ram->total = ram_bytes_total();
         info->ram->total = ram_bytes_total();
-        info->ram->total_time = qemu_get_clock_ms(rt_clock)
-            - s->total_time;
         info->ram->duplicate = dup_mig_pages_transferred();
         info->ram->duplicate = dup_mig_pages_transferred();
         info->ram->normal = norm_mig_pages_transferred();
         info->ram->normal = norm_mig_pages_transferred();
         info->ram->normal_bytes = norm_mig_bytes_transferred();
         info->ram->normal_bytes = norm_mig_bytes_transferred();
@@ -193,13 +194,13 @@ MigrationInfo *qmp_query_migrate(Error **errp)
 
 
         info->has_status = true;
         info->has_status = true;
         info->status = g_strdup("completed");
         info->status = g_strdup("completed");
+        info->total_time = s->total_time;
 
 
         info->has_ram = true;
         info->has_ram = true;
         info->ram = g_malloc0(sizeof(*info->ram));
         info->ram = g_malloc0(sizeof(*info->ram));
         info->ram->transferred = ram_bytes_transferred();
         info->ram->transferred = ram_bytes_transferred();
         info->ram->remaining = 0;
         info->ram->remaining = 0;
         info->ram->total = ram_bytes_total();
         info->ram->total = ram_bytes_total();
-        info->ram->total_time = s->total_time;
         info->ram->duplicate = dup_mig_pages_transferred();
         info->ram->duplicate = dup_mig_pages_transferred();
         info->ram->normal = norm_mig_pages_transferred();
         info->ram->normal = norm_mig_pages_transferred();
         info->ram->normal_bytes = norm_mig_bytes_transferred();
         info->ram->normal_bytes = norm_mig_bytes_transferred();

+ 7 - 7
qapi-schema.json

@@ -290,10 +290,6 @@
 #
 #
 # @total: total amount of bytes involved in the migration process
 # @total: total amount of bytes involved in the migration process
 #
 #
-# @total-time: total amount of ms since migration started.  If
-#        migration has ended, it returns the total migration
-#        time. (since 1.2)
-#
 # @duplicate: number of duplicate pages (since 1.2)
 # @duplicate: number of duplicate pages (since 1.2)
 #
 #
 # @normal : number of normal pages (since 1.2)
 # @normal : number of normal pages (since 1.2)
@@ -304,8 +300,7 @@
 ##
 ##
 { 'type': 'MigrationStats',
 { 'type': 'MigrationStats',
   'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' ,
   'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' ,
-           'total-time': 'int', 'duplicate': 'int', 'normal': 'int',
-           'normal-bytes': 'int' } }
+           'duplicate': 'int', 'normal': 'int', 'normal-bytes': 'int' } }
 
 
 ##
 ##
 # @XBZRLECacheStats
 # @XBZRLECacheStats
@@ -350,12 +345,17 @@
 #                migration statistics, only returned if XBZRLE feature is on and
 #                migration statistics, only returned if XBZRLE feature is on and
 #                status is 'active' or 'completed' (since 1.2)
 #                status is 'active' or 'completed' (since 1.2)
 #
 #
+# @total-time: #optional total amount of milliseconds since migration started.
+#        If migration has ended, it returns the total migration
+#        time. (since 1.2)
+#
 # Since: 0.14.0
 # Since: 0.14.0
 ##
 ##
 { 'type': 'MigrationInfo',
 { 'type': 'MigrationInfo',
   'data': {'*status': 'str', '*ram': 'MigrationStats',
   'data': {'*status': 'str', '*ram': 'MigrationStats',
            '*disk': 'MigrationStats',
            '*disk': 'MigrationStats',
-           '*xbzrle-cache': 'XBZRLECacheStats'} }
+           '*xbzrle-cache': 'XBZRLECacheStats',
+           '*total-time': 'int'} }
 
 
 ##
 ##
 # @query-migrate
 # @query-migrate

+ 3 - 3
qmp-commands.hx

@@ -2239,14 +2239,14 @@ The main json-object contains the following:
 
 
 - "status": migration status (json-string)
 - "status": migration status (json-string)
      - Possible values: "active", "completed", "failed", "cancelled"
      - Possible values: "active", "completed", "failed", "cancelled"
+- "total-time": total amount of ms since migration started.  If
+                migration has ended, it returns the total migration
+		 time (json-int)
 - "ram": only present if "status" is "active", it is a json-object with the
 - "ram": only present if "status" is "active", it is a json-object with the
   following RAM information (in bytes):
   following RAM information (in bytes):
          - "transferred": amount transferred (json-int)
          - "transferred": amount transferred (json-int)
          - "remaining": amount remaining (json-int)
          - "remaining": amount remaining (json-int)
          - "total": total (json-int)
          - "total": total (json-int)
-         - "total-time": total amount of ms since migration started.  If
-                         migration has ended, it returns the total migration time
-                         (json-int)
          - "duplicate": number of duplicated pages (json-int)
          - "duplicate": number of duplicated pages (json-int)
          - "normal" : number of normal pages transferred (json-int)
          - "normal" : number of normal pages transferred (json-int)
          - "normal-bytes" : number of normal bytes transferred (json-int)
          - "normal-bytes" : number of normal bytes transferred (json-int)