summaryrefslogtreecommitdiffstats
path: root/include/monitor
diff options
context:
space:
mode:
authorPaolo Bonzini2022-04-26 14:59:44 +0200
committerPaolo Bonzini2022-06-14 16:50:30 +0200
commit467ef823d83ed7ba68cc92e1a23938726b8c4e9d (patch)
treee63eddb9b4aa7cf667440c1d5bdb334bce070b59 /include/monitor
parentkvm: Support for querying fd-based stats (diff)
downloadqemu-467ef823d83ed7ba68cc92e1a23938726b8c4e9d.tar.gz
qemu-467ef823d83ed7ba68cc92e1a23938726b8c4e9d.tar.xz
qemu-467ef823d83ed7ba68cc92e1a23938726b8c4e9d.zip
qmp: add filtering of statistics by target vCPU
Introduce a simple filtering of statistics, that allows to retrieve statistics for a subset of the guest vCPUs. This will be used for example by the HMP monitor, in order to retrieve the statistics for the currently selected CPU. Example: { "execute": "query-stats", "arguments": { "target": "vcpu", "vcpus": [ "/machine/unattached/device[2]", "/machine/unattached/device[4]" ] } } Extracted from a patch by Mark Kanda. Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/monitor')
-rw-r--r--include/monitor/stats.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/monitor/stats.h b/include/monitor/stats.h
index 912eeadb2f..8c50feeaa9 100644
--- a/include/monitor/stats.h
+++ b/include/monitor/stats.h
@@ -11,7 +11,7 @@
#include "qapi/qapi-types-stats.h"
typedef void StatRetrieveFunc(StatsResultList **result, StatsTarget target,
- Error **errp);
+ strList *targets, Error **errp);
typedef void SchemaRetrieveFunc(StatsSchemaList **result, Error **errp);
/*
@@ -31,4 +31,13 @@ void add_stats_entry(StatsResultList **, StatsProvider, const char *id,
void add_stats_schema(StatsSchemaList **, StatsProvider, StatsTarget,
StatsSchemaValueList *);
+/*
+ * True if a string matches the filter passed to the stats_fn callabck,
+ * false otherwise.
+ *
+ * Note that an empty list means no filtering, i.e. all strings will
+ * return true.
+ */
+bool apply_str_list_filter(const char *string, strList *list);
+
#endif /* STATS_H */