diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2012-10-26 13:46:34 +0200 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2012-11-16 13:12:13 +0100 |
commit | ddde8acc989d9e59b37605d438d5cb6b5ce8fbae (patch) | |
tree | 9bfd116fdf631efffbd510bebd770fe4ccb4cc5b | |
parent | 81dee729c1a8fccaab8cd978721acca0282f43c9 (diff) | |
download | hqemu-ddde8acc989d9e59b37605d438d5cb6b5ce8fbae.zip hqemu-ddde8acc989d9e59b37605d438d5cb6b5ce8fbae.tar.gz |
trace: allow disabling events in events file
Disable trace events prefixed with a '-'. Useful
to enable a group of tracepoints with exceptions,
like this:
usb_xhci_port_*
-usb_xhci_port_read
which will enable all xhci port tracepoints except reads.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | trace/control.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/trace/control.c b/trace/control.c index 22d5863..be05efb 100644 --- a/trace/control.c +++ b/trace/control.c @@ -12,6 +12,8 @@ void trace_backend_init_events(const char *fname) { + int ret; + if (fname == NULL) { return; } @@ -30,7 +32,12 @@ void trace_backend_init_events(const char *fname) if ('#' == line_buf[0]) { /* skip commented lines */ continue; } - if (!trace_event_set_state(line_buf, true)) { + if ('-' == line_buf[0]) { + ret = trace_event_set_state(line_buf+1, false); + } else { + ret = trace_event_set_state(line_buf, true); + } + if (!ret) { fprintf(stderr, "error: trace event '%s' does not exist\n", line_buf); exit(1); |