Commit e9527dd3 authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Stefan Hajnoczi
Browse files

trace: add "-trace help"



Print a list of trace points

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Message-id: 1452174932-28657-7-git-send-email-den@openvz.org
Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
parent 10578a25
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -3564,6 +3564,8 @@ available if QEMU has been compiled with the @var{simple}, @var{stderr}
or @var{ftrace} tracing backend.  To specify multiple events or patterns,
specify the @option{-trace} option multiple times.

Use @code{-trace help} to print a list of names of trace points.

@item events=@var{file}
Immediately enable events listed in @var{file}.
The file must contain one event name (as listed in the @file{trace-events} file)
+20 −1
Original line number Diff line number Diff line
@@ -88,7 +88,16 @@ TraceEvent *trace_event_pattern(const char *pat, TraceEvent *ev)
    return NULL;
}

void trace_enable_events(const char *line_buf)
void trace_list_events(void)
{
    int i;
    for (i = 0; i < trace_event_count(); i++) {
        TraceEvent *res = trace_event_id(i);
        fprintf(stderr, "%s\n", trace_event_get_name(res));
    }
}

static void do_trace_enable_events(const char *line_buf)
{
    const bool enable = ('-' != line_buf[0]);
    const char *line_ptr = enable ? line_buf : line_buf + 1;
@@ -114,6 +123,16 @@ void trace_enable_events(const char *line_buf)
    }
}

void trace_enable_events(const char *line_buf)
{
    if (is_help_option(line_buf)) {
        trace_list_events();
        exit(0);
    } else {
        do_trace_enable_events(line_buf);
    }
}

void trace_init_events(const char *fname)
{
    Location loc;
+7 −0
Original line number Diff line number Diff line
@@ -181,6 +181,13 @@ void trace_init_events(const char *file);
 */
void trace_init_file(const char *file);

/**
 * trace_list_events:
 *
 * List all available events.
 */
void trace_list_events(void);

/**
 * trace_enable_events:
 * @line_buf: A string with a glob pattern of events to be enabled or,