提交 dd9fe29c 编写于 作者: D Dr. David Alan Gilbert 提交者: Stefan Hajnoczi

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: NDr. David Alan Gilbert <dgilbert@redhat.com>
Message-id: 1421746875-9962-1-git-send-email-dgilbert@redhat.com
Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
上级 16017c48
......@@ -21,6 +21,9 @@ PUBLIC = True
def generate_h_begin(events):
out('#include <stdio.h>',
'#include <sys/time.h>',
'#include <sys/types.h>',
'#include <unistd.h>',
'#include "trace/control.h"',
'')
......@@ -31,7 +34,12 @@ def generate_h(event):
argnames = ", " + argnames
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(),
name=event.name,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册