mirror of https://github.com/xemu-project/xemu.git
trace: Print PID and time in stderr traces
When debugging migration it's useful to know the PID of each trace message so you can figure out if it came from the source or the destination. Printing the time makes it easy to do latency measurements or timings between trace points. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-id: 1421746875-9962-1-git-send-email-dgilbert@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
16017c4854
commit
dd9fe29c80
|
@ -21,6 +21,9 @@ PUBLIC = True
|
||||||
|
|
||||||
def generate_h_begin(events):
|
def generate_h_begin(events):
|
||||||
out('#include <stdio.h>',
|
out('#include <stdio.h>',
|
||||||
|
'#include <sys/time.h>',
|
||||||
|
'#include <sys/types.h>',
|
||||||
|
'#include <unistd.h>',
|
||||||
'#include "trace/control.h"',
|
'#include "trace/control.h"',
|
||||||
'')
|
'')
|
||||||
|
|
||||||
|
@ -31,7 +34,12 @@ def generate_h(event):
|
||||||
argnames = ", " + argnames
|
argnames = ", " + argnames
|
||||||
|
|
||||||
out(' if (trace_event_get_state(%(event_id)s)) {',
|
out(' if (trace_event_get_state(%(event_id)s)) {',
|
||||||
' fprintf(stderr, "%(name)s " %(fmt)s "\\n" %(argnames)s);',
|
' struct timeval _now;',
|
||||||
|
' gettimeofday(&_now, NULL);',
|
||||||
|
' fprintf(stderr, "%%d@%%zd.%%06zd:%(name)s " %(fmt)s "\\n",',
|
||||||
|
' getpid(),',
|
||||||
|
' (size_t)_now.tv_sec, (size_t)_now.tv_usec',
|
||||||
|
' %(argnames)s);',
|
||||||
' }',
|
' }',
|
||||||
event_id="TRACE_" + event.name.upper(),
|
event_id="TRACE_" + event.name.upper(),
|
||||||
name=event.name,
|
name=event.name,
|
||||||
|
|
Loading…
Reference in New Issue