This new switch can be used to set
VIR_CONNECT_GET_ALL_DOMAINS_STATS_BEST_EFFORT flag for stats
fetching API.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tools/virsh-domain-monitor.c | 7 +++++++
tools/virsh.pod | 16 +++++++++++-----
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index 8cbb3db37c..96a65a8ac7 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -1992,6 +1992,10 @@ static const vshCmdOptDef opts_domstats[] = {
.type = VSH_OT_BOOL,
.help = N_("add backing chain information to block stats"),
},
+ {.name = "best-effort",
+ .type = VSH_OT_BOOL,
+ .help = N_("ignore stalled domains"),
+ },
VIRSH_COMMON_OPT_DOMAIN_OT_ARGV(N_("list of domains to get stats for"),
0),
{.name = NULL}
};
@@ -2087,6 +2091,9 @@ cmdDomstats(vshControl *ctl, const vshCmd *cmd)
if (vshCommandOptBool(cmd, "backing"))
flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING;
+ if (vshCommandOptBool(cmd, "best-effort"))
+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_BEST_EFFORT;
+
if (vshCommandOptBool(cmd, "domain")) {
if (VIR_ALLOC_N(domlist, 1) < 0)
goto cleanup;
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 3f3314a87e..8f3bc67405 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -968,11 +968,11 @@ that require a block device name (such as I<domblkinfo> or
I<snapshot-create> for disk snapshots) will accept either target
or unique source names printed by this command.
-=item B<domstats> [I<--raw>] [I<--enforce>] [I<--backing>]
[I<--state>]
-[I<--cpu-total>] [I<--balloon>] [I<--vcpu>] [I<--interface>]
[I<--block>]
-[I<--perf>] [[I<--list-active>] [I<--list-inactive>]
[I<--list-persistent>]
-[I<--list-transient>] [I<--list-running>] [I<--list-paused>]
-[I<--list-shutoff>] [I<--list-other>]] | [I<domain> ...]
+=item B<domstats> [I<--raw>] [I<--enforce>] [I<--backing>]
[I<--best-effort>]
+[I<--state>] [I<--cpu-total>] [I<--balloon>] [I<--vcpu>]
[I<--interface>]
+[I<--block>] [I<--perf>] [[I<--list-active>]
[I<--list-inactive>]
+[I<--list-persistent>] [I<--list-transient>] [I<--list-running>]
+[I<--list-paused>] [I<--list-shutoff>] [I<--list-other>]] |
[I<domain> ...]
Get statistics for multiple or all domains. Without any argument this
command prints all available statistics for all domains.
@@ -1123,6 +1123,12 @@ daemon supports the selected group of stats. Flag
I<--enforce>
forces the command to fail if the daemon doesn't support the
selected group.
+When collecting stats libvirtd may wait for some time if there's
+already another job running on given domain for it to finish.
+This may cause unnecessary delay in delivering stats. Using
+I<--best-effort> suppresses this behaviour. On the other hand
+some statistics might be missing for such domain.
+
=item B<domiflist> I<domain> [I<--inactive>]
Print a table showing the brief information of all virtual interfaces
--
2.16.4