aboutsummaryrefslogtreecommitdiff
path: root/trace/control.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-10-26 13:46:34 +0200
committerStefan Hajnoczi <stefanha@redhat.com>2012-11-16 13:12:13 +0100
commitddde8acc989d9e59b37605d438d5cb6b5ce8fbae (patch)
tree9bfd116fdf631efffbd510bebd770fe4ccb4cc5b /trace/control.c
parent81dee729c1a8fccaab8cd978721acca0282f43c9 (diff)
downloadqemu-arm-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>
Diffstat (limited to 'trace/control.c')
-rw-r--r--trace/control.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/trace/control.c b/trace/control.c
index 22d5863eeb..be05efb99b 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);