From 418ed14268f797a5142b60cd557cd598eb548c66 Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Mon, 25 Jan 2021 11:35:07 +0000 Subject: trace: make the 'log' backend timestamp configurable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Timestamps in tracing output can be distracting. Make it possible to control tid/timestamp printing with -msg timestamp=on|off. The default is no tid/timestamps. Previously they were always printed. Suggested-by: BALATON Zoltan Signed-off-by: Stefan Hajnoczi Tested-by: Philippe Mathieu-Daudé Tested-by: BALATON Zoltan Reviewed-by: Philippe Mathieu-Daudé Message-id: 20210125113507.224287-3-stefanha@redhat.com Signed-off-by: Stefan Hajnoczi --- scripts/tracetool/backend/log.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'scripts/tracetool') diff --git a/scripts/tracetool/backend/log.py b/scripts/tracetool/backend/log.py index bc43dbb4f4..17ba1cd90e 100644 --- a/scripts/tracetool/backend/log.py +++ b/scripts/tracetool/backend/log.py @@ -20,6 +20,7 @@ PUBLIC = True def generate_h_begin(events, group): out('#include "qemu/log-for-trace.h"', + '#include "qemu/error-report.h"', '') @@ -35,14 +36,20 @@ def generate_h(event, group): cond = "trace_event_get_state(%s)" % ("TRACE_" + event.name.upper()) out(' if (%(cond)s && qemu_loglevel_mask(LOG_TRACE)) {', - ' struct timeval _now;', - ' gettimeofday(&_now, NULL);', + ' if (message_with_timestamp) {', + ' struct timeval _now;', + ' gettimeofday(&_now, NULL);', '#line %(event_lineno)d "%(event_filename)s"', - ' qemu_log("%%d@%%zu.%%06zu:%(name)s " %(fmt)s "\\n",', - ' qemu_get_thread_id(),', - ' (size_t)_now.tv_sec, (size_t)_now.tv_usec', - ' %(argnames)s);', + ' qemu_log("%%d@%%zu.%%06zu:%(name)s " %(fmt)s "\\n",', + ' qemu_get_thread_id(),', + ' (size_t)_now.tv_sec, (size_t)_now.tv_usec', + ' %(argnames)s);', '#line %(out_next_lineno)d "%(out_filename)s"', + ' } else {', + '#line %(event_lineno)d "%(event_filename)s"', + ' qemu_log("%(name)s " %(fmt)s "\\n"%(argnames)s);', + '#line %(out_next_lineno)d "%(out_filename)s"', + ' }', ' }', cond=cond, event_lineno=event.lineno, -- cgit v1.2.3