98 lines
3.7 KiB
Diff
98 lines
3.7 KiB
Diff
|
|
From a914cfe2abd42395cc1f4cab9c435d82fdd697cb Mon Sep 17 00:00:00 2001
|
||
|
|
From: Hao Wang <wanghao232@huawei.com>
|
||
|
|
Date: Tue, 16 Mar 2021 20:32:51 +0800
|
||
|
|
Subject: [PATCH 7/7] migration/dirtyrate: Introduce command 'virsh domstats
|
||
|
|
--dirtyrate'
|
||
|
|
MIME-Version: 1.0
|
||
|
|
Content-Type: text/plain; charset=UTF-8
|
||
|
|
Content-Transfer-Encoding: 8bit
|
||
|
|
|
||
|
|
Introduce command 'virsh domstats --dirtyrate' for reporting memory
|
||
|
|
dirty rate information. The info is listed as:
|
||
|
|
|
||
|
|
Domain: 'vm0'
|
||
|
|
dirtyrate.calc_status=2
|
||
|
|
dirtyrate.calc_start_time=1534523
|
||
|
|
dirtyrate.calc_period=1
|
||
|
|
dirtyrate.megabytes_per_second=5
|
||
|
|
|
||
|
|
cherry-pick from 5be6decbb131a2139161bf8ec4575f45997e31ee
|
||
|
|
|
||
|
|
Signed-off-by: Hao Wang <wanghao232@huawei.com>
|
||
|
|
Signed-off-by: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
|
||
|
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||
|
|
---
|
||
|
|
docs/manpages/virsh.rst | 16 ++++++++++++++--
|
||
|
|
tools/virsh-domain-monitor.c | 7 +++++++
|
||
|
|
2 files changed, 21 insertions(+), 2 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
|
||
|
|
index b44e8f9301..3d4fadc041 100644
|
||
|
|
--- a/docs/manpages/virsh.rst
|
||
|
|
+++ b/docs/manpages/virsh.rst
|
||
|
|
@@ -2208,7 +2208,7 @@ domstats
|
||
|
|
|
||
|
|
domstats [--raw] [--enforce] [--backing] [--nowait] [--state]
|
||
|
|
[--cpu-total] [--balloon] [--vcpu] [--interface]
|
||
|
|
- [--block] [--perf] [--iothread] [--memory]
|
||
|
|
+ [--block] [--perf] [--iothread] [--memory] [--dirtyrate]
|
||
|
|
[[--list-active] [--list-inactive]
|
||
|
|
[--list-persistent] [--list-transient] [--list-running]y
|
||
|
|
[--list-paused] [--list-shutoff] [--list-other]] | [domain ...]
|
||
|
|
@@ -2227,7 +2227,8 @@ behavior use the *--raw* flag.
|
||
|
|
The individual statistics groups are selectable via specific flags. By
|
||
|
|
default all supported statistics groups are returned. Supported
|
||
|
|
statistics groups flags are: *--state*, *--cpu-total*, *--balloon*,
|
||
|
|
-*--vcpu*, *--interface*, *--block*, *--perf*, *--iothread*, *--memory*.
|
||
|
|
+*--vcpu*, *--interface*, *--block*, *--perf*, *--iothread*, *--memory*,
|
||
|
|
+*--dirtyrate*.
|
||
|
|
|
||
|
|
Note that - depending on the hypervisor type and version or the domain state
|
||
|
|
- not all of the following statistics may be returned.
|
||
|
|
@@ -2411,6 +2412,17 @@ not available for statistical purposes.
|
||
|
|
bytes consumed by @vcpus that passing through all memory controllers, either
|
||
|
|
local or remote controller.
|
||
|
|
|
||
|
|
+*--dirtyrate* returns:
|
||
|
|
+
|
||
|
|
+* ``dirtyrate.calc_status`` - the status of last memory dirty rate
|
||
|
|
+ calculation, returned as number from virDomainDirtyRateStatus enum.
|
||
|
|
+* ``dirtyrate.calc_start_time`` - the start time of last memory dirty
|
||
|
|
+ rate calculation.
|
||
|
|
+* ``dirtyrate.calc_period`` - the period of last memory dirty rate
|
||
|
|
+ calculation.
|
||
|
|
+* ``dirtyrate.megabytes_per_second`` - the calculated memory dirty
|
||
|
|
+ rate in MiB/s.
|
||
|
|
+
|
||
|
|
|
||
|
|
Selecting a specific statistics groups doesn't guarantee that the
|
||
|
|
daemon supports the selected group of stats. Flag *--enforce*
|
||
|
|
diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
|
||
|
|
index 74ff369597..e692fefa2c 100644
|
||
|
|
--- a/tools/virsh-domain-monitor.c
|
||
|
|
+++ b/tools/virsh-domain-monitor.c
|
||
|
|
@@ -2130,6 +2130,10 @@ static const vshCmdOptDef opts_domstats[] = {
|
||
|
|
.type = VSH_OT_BOOL,
|
||
|
|
.help = N_("report domain memory usage"),
|
||
|
|
},
|
||
|
|
+ {.name = "dirtyrate",
|
||
|
|
+ .type = VSH_OT_BOOL,
|
||
|
|
+ .help = N_("report domain dirty rate information"),
|
||
|
|
+ },
|
||
|
|
{.name = "list-active",
|
||
|
|
.type = VSH_OT_BOOL,
|
||
|
|
.help = N_("list only active domains"),
|
||
|
|
@@ -2249,6 +2253,9 @@ cmdDomstats(vshControl *ctl, const vshCmd *cmd)
|
||
|
|
if (vshCommandOptBool(cmd, "memory"))
|
||
|
|
stats |= VIR_DOMAIN_STATS_MEMORY;
|
||
|
|
|
||
|
|
+ if (vshCommandOptBool(cmd, "dirtyrate"))
|
||
|
|
+ stats |= VIR_DOMAIN_STATS_DIRTYRATE;
|
||
|
|
+
|
||
|
|
if (vshCommandOptBool(cmd, "list-active"))
|
||
|
|
flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_ACTIVE;
|
||
|
|
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|