monitor: add support for boolean statistics

The next version of Linux will introduce boolean statistics, which
can only have 0 or 1 values.  Support them in the schema and in
the HMP command.

Suggested-by: Amneesh Singh <natto@weirdnatto.in>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2022-07-14 14:08:09 +02:00
parent 0ebf76aae5
commit 1ca1a7ec36
2 changed files with 5 additions and 1 deletions

View File

@ -2337,6 +2337,8 @@ static void print_stats_results(Monitor *mon, StatsTarget target,
if (stats_value->type == QTYPE_QNUM) {
monitor_printf(mon, ": %" PRId64 "\n", stats_value->u.scalar);
} else if (stats_value->type == QTYPE_QBOOL) {
monitor_printf(mon, ": %s\n", stats_value->u.boolean ? "yes" : "no");
} else if (stats_value->type == QTYPE_QLIST) {
uint64List *list;
int i;

View File

@ -38,11 +38,12 @@
# @bytes: stat reported in bytes.
# @seconds: stat reported in seconds.
# @cycles: stat reported in clock cycles.
# @boolean: stat is a boolean value.
#
# Since: 7.1
##
{ 'enum' : 'StatsUnit',
'data' : [ 'bytes', 'seconds', 'cycles' ] }
'data' : [ 'bytes', 'seconds', 'cycles', 'boolean' ] }
##
# @StatsProvider:
@ -123,6 +124,7 @@
##
{ 'alternate': 'StatsValue',
'data': { 'scalar': 'uint64',
'boolean': 'bool',
'list': [ 'uint64' ] } }
##