[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 06/21] trace: show trace point counts in the
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [RFC PATCH 06/21] trace: show trace point counts in the monitor |
Date: |
Mon, 08 Oct 2018 14:51:56 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Alex Bennée <address@hidden> writes:
> Now we have counts for each trace point we can expose them in the
> monitor when the user queries what trace points are available.
>
> Signed-off-by: Alex Bennée <address@hidden>
> ---
> monitor.c | 5 +++--
> qapi/trace.json | 3 ++-
> trace/qmp.c | 1 +
> 3 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/monitor.c b/monitor.c
> index c4677b502b..d8229cd2b0 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -1421,9 +1421,10 @@ static void hmp_info_trace_events(Monitor *mon, const
> QDict *qdict)
> }
>
> for (elem = events; elem != NULL; elem = elem->next) {
> - monitor_printf(mon, "%s : state %u\n",
> + monitor_printf(mon, "%s : state %u count %" PRIu64 "\n",
> elem->value->name,
> - elem->value->state == TRACE_EVENT_STATE_ENABLED ? 1 :
> 0);
> + elem->value->state == TRACE_EVENT_STATE_ENABLED ? 1 :
> 0,
> + elem->value->count);
> }
> qapi_free_TraceEventInfoList(events);
> }
> diff --git a/qapi/trace.json b/qapi/trace.json
> index 799b254a18..b9184b0d18 100644
> --- a/qapi/trace.json
> +++ b/qapi/trace.json
> @@ -33,6 +33,7 @@
> # @name: Event name.
> # @state: Tracing state.
> # @vcpu: Whether this is a per-vCPU event (since 2.7).
> +# @count: Current hits on trace-point (since 3.1).
Suggest something like "Number of hits".
> #
> # An event is per-vCPU if it has the "vcpu" property in the "trace-events"
> # files.
> @@ -40,7 +41,7 @@
> # Since: 2.2
> ##
> { 'struct': 'TraceEventInfo',
> - 'data': {'name': 'str', 'state': 'TraceEventState', 'vcpu': 'bool'} }
> + 'data': {'name': 'str', 'state': 'TraceEventState', 'vcpu': 'bool',
> 'count': 'int' } }
>
> ##
> # @trace-event-get-state:
> diff --git a/trace/qmp.c b/trace/qmp.c
> index ea99b00956..cce8198091 100644
> --- a/trace/qmp.c
> +++ b/trace/qmp.c
> @@ -102,6 +102,7 @@ TraceEventInfoList *qmp_trace_event_get_state(const char
> *name,
> elem->value = g_new(TraceEventInfo, 1);
> elem->value->vcpu = is_vcpu;
> elem->value->name = g_strdup(trace_event_get_name(ev));
> + elem->value->count = ev->count;
I suspect this converts from uint64_t to int64_t. Change the type to
'uint64' in the QAPI schema?
>
> if (!trace_event_get_state_static(ev)) {
> elem->value->state = TRACE_EVENT_STATE_UNAVAILABLE;
- Re: [Qemu-devel] [RFC PATCH 14/21] trace: add support for plugin infrastructure, (continued)
- [Qemu-devel] [RFC PATCH 03/21] linux-user: add -dfilter progtext shortcut, Alex Bennée, 2018/10/05
- [Qemu-devel] [RFC PATCH 06/21] trace: show trace point counts in the monitor, Alex Bennée, 2018/10/05
- [Qemu-devel] [RFC PATCH 15/21] trace: add linux-user plugin support, Alex Bennée, 2018/10/05
- [Qemu-devel] [RFC PATCH 19/21] plugins: add an example hotblocks plugin, Alex Bennée, 2018/10/05
- [Qemu-devel] [RFC PATCH 21/21] plugin: add tlbflush stats plugin, Alex Bennée, 2018/10/05
- [Qemu-devel] [RFC PATCH 20/21] plugins: add hotness summary to hotblocks, Alex Bennée, 2018/10/05