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>
This commit is contained in:
parent
651d588f03
commit
418ed14268
@ -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
|
||||
-----------
|
||||
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user