summary refs log tree commit diff stats
path: root/migration/migration-stats.h
diff options
context:
space:
mode:
authorJuan Quintela <quintela@redhat.com>2023-04-26 19:04:06 +0200
committerJuan Quintela <quintela@redhat.com>2023-05-03 11:24:19 +0200
commit947701cc1a591191684aaae37a9f81674a14b7ce (patch)
treead217f1500345ea8acb3621d5fa08a3f80e3654b /migration/migration-stats.h
parente232199aad7f744e696e6b8c57aecbacfb988554 (diff)
downloadfocaccia-qemu-947701cc1a591191684aaae37a9f81674a14b7ce.tar.gz
focaccia-qemu-947701cc1a591191684aaae37a9f81674a14b7ce.zip
migration: Move ram_stats to its own file migration-stats.[ch]
There is already include/qemu/stats.h, so stats.h was a bad idea.
We want this file to not depend on anything else, we will move all the
migration counters/stats to this struct.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Lukas Straub <lukasstraub2@web.de>
Diffstat (limited to 'migration/migration-stats.h')
-rw-r--r--migration/migration-stats.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/migration/migration-stats.h b/migration/migration-stats.h
new file mode 100644
index 0000000000..2edea0c779
--- /dev/null
+++ b/migration/migration-stats.h
@@ -0,0 +1,41 @@
+/*
+ * Migration stats
+ *
+ * Copyright (c) 2012-2023 Red Hat Inc
+ *
+ * Authors:
+ *  Juan Quintela <quintela@redhat.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef QEMU_MIGRATION_STATS_H
+#define QEMU_MIGRATION_STATS_H
+
+#include "qemu/stats64.h"
+
+/*
+ * These are the ram migration statistic counters.  It is loosely
+ * based on MigrationStats.  We change to Stat64 any counter that
+ * needs to be updated using atomic ops (can be accessed by more than
+ * one thread).
+ */
+typedef struct {
+    Stat64 dirty_bytes_last_sync;
+    Stat64 dirty_pages_rate;
+    Stat64 dirty_sync_count;
+    Stat64 dirty_sync_missed_zero_copy;
+    Stat64 downtime_bytes;
+    Stat64 zero_pages;
+    Stat64 multifd_bytes;
+    Stat64 normal_pages;
+    Stat64 postcopy_bytes;
+    Stat64 postcopy_requests;
+    Stat64 precopy_bytes;
+    Stat64 transferred;
+} RAMStats;
+
+extern RAMStats ram_counters;
+
+#endif