]> git.proxmox.com Git - qemu.git/commitdiff
trace: allow disabling events in events file
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 26 Oct 2012 11:46:34 +0000 (13:46 +0200)
committerStefan Hajnoczi <stefanha@redhat.com>
Fri, 16 Nov 2012 12:12:13 +0000 (13:12 +0100)
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>
trace/control.c

index 22d5863eebfc23454b4e7aee45f20bc518b514e5..be05efb99b847bcd479892923ab643bf71f21ec8 100644 (file)
@@ -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);