diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2021-01-25 11:35:07 +0000 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2021-02-01 10:50:55 +0000 |
commit | 418ed14268f797a5142b60cd557cd598eb548c66 (patch) | |
tree | d60cbfea4d6720dc04108e5ee8f4147553785dbf | |
parent | 651d588f030097c4950331f8fffb9d442f89ba11 (diff) | |
download | qemu-418ed14268f797a5142b60cd557cd598eb548c66.zip |
trace: make the 'log' backend timestamp configurable
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 <balaton@eik.bme.hu>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20210125113507.224287-3-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | docs/devel/tracing.rst | 3 | ||||
-rw-r--r-- | scripts/tracetool/backend/log.py | 19 |
2 files changed, 16 insertions, 6 deletions
diff --git a/docs/devel/tracing.rst b/docs/devel/tracing.rst index 4ebf8e38ea..af395e957d 100644 --- a/docs/devel/tracing.rst +++ b/docs/devel/tracing.rst @@ -224,6 +224,9 @@ effectively turns trace events into debug printfs. This is the simplest backend and can be used together with existing code that uses DPRINTF(). +The -msg timestamp=on|off command-line option controls whether or not to print +the tid/timestamp prefix for each trace event. + Simpletrace ----------- 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, |