qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] monitor: trace qmp_send_response


From: Markus Armbruster
Subject: Re: [PATCH] monitor: trace qmp_send_response
Date: Fri, 05 Feb 2021 08:56:17 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> writes:

> Add a useful counterpart for trace_handle_qmp_command for debugging
> libvirt guests.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> ---
>  monitor/qmp.c        | 6 ++++++
>  monitor/trace-events | 1 +
>  2 files changed, 7 insertions(+)
>
> diff --git a/monitor/qmp.c b/monitor/qmp.c
> index 8f91af32be..772b9e7b30 100644
> --- a/monitor/qmp.c
> +++ b/monitor/qmp.c
> @@ -111,6 +111,12 @@ void qmp_send_response(MonitorQMP *mon, const QDict *rsp)
>      const QObject *data = QOBJECT(rsp);
>      GString *json;
>  
> +    if (trace_event_get_state_backends(TRACE_QMP_SEND_RESPONSE)) {
> +        json = qobject_to_json(data);
> +        trace_qmp_send_response(mon, json->str);
> +        g_string_free(json, true);
> +    }
> +
>      json = qobject_to_json_pretty(data, mon->pretty);
>      assert(json != NULL);
>  
> diff --git a/monitor/trace-events b/monitor/trace-events
> index 0365ac4d99..12f0576c7b 100644
> --- a/monitor/trace-events
> +++ b/monitor/trace-events
> @@ -13,3 +13,4 @@ monitor_suspend(void *ptr, int cnt) "mon %p: %d"
>  monitor_qmp_cmd_in_band(const char *id) "%s"
>  monitor_qmp_cmd_out_of_band(const char *id) "%s"
>  handle_qmp_command(void *mon, const char *req) "mon %p req: %s"
> +qmp_send_response(void *mon, const char *req) "mon %p req: %s"

A slightly lazier version of this just landed in commit f680405f45 "qmp:
Add more tracepoints".  The difference is yours ignores mon->pretty for
tracing.

Thoughts?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]