perf probe: Change event list format
Change event list format for user readability. perf probe --list shows event list in "[GROUP:EVENT] EVENT-DEFINITION" format, but this format is different from the output of perf-list, and EVENT-DEFINITION is a bit blunt. This patch changes the format to more user friendly one. Before: [probe:schedule_0] schedule+10 prev cpu After: probe:schedule_0 (on schedule+10 with prev cpu) Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Jim Keniston <jkenisto@us.ibm.com> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Frank Ch. Eigler <fche@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jason Baron <jbaron@redhat.com> Cc: K.Prasad <prasad@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: systemtap <systemtap@sources.redhat.com> Cc: DLE <dle-develop@lists.sourceforge.net> LKML-Reference: <20091208220240.10142.42916.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
6ab8886326
commit
278498d438
1 changed files with 25 additions and 2 deletions
|
@ -379,11 +379,29 @@ static void clear_probe_point(struct probe_point *pp)
|
|||
memset(pp, 0, sizeof(pp));
|
||||
}
|
||||
|
||||
/* Show an event */
|
||||
static void show_perf_probe_event(const char *group, const char *event,
|
||||
const char *place, struct probe_point *pp)
|
||||
{
|
||||
int i;
|
||||
char buf[128];
|
||||
|
||||
e_snprintf(buf, 128, "%s:%s", group, event);
|
||||
printf(" %-40s (on %s", buf, place);
|
||||
|
||||
if (pp->nr_args > 0) {
|
||||
printf(" with");
|
||||
for (i = 0; i < pp->nr_args; i++)
|
||||
printf(" %s", pp->args[i]);
|
||||
}
|
||||
printf(")\n");
|
||||
}
|
||||
|
||||
/* List up current perf-probe events */
|
||||
void show_perf_probe_events(void)
|
||||
{
|
||||
unsigned int i;
|
||||
int fd;
|
||||
int fd, nr;
|
||||
char *group, *event;
|
||||
struct probe_point pp;
|
||||
struct strlist *rawlist;
|
||||
|
@ -396,8 +414,13 @@ void show_perf_probe_events(void)
|
|||
for (i = 0; i < strlist__nr_entries(rawlist); i++) {
|
||||
ent = strlist__entry(rawlist, i);
|
||||
parse_trace_kprobe_event(ent->s, &group, &event, &pp);
|
||||
/* Synthesize only event probe point */
|
||||
nr = pp.nr_args;
|
||||
pp.nr_args = 0;
|
||||
synthesize_perf_probe_event(&pp);
|
||||
printf("[%s:%s]\t%s\n", group, event, pp.probes[0]);
|
||||
pp.nr_args = nr;
|
||||
/* Show an event */
|
||||
show_perf_probe_event(group, event, pp.probes[0], &pp);
|
||||
free(group);
|
||||
free(event);
|
||||
clear_probe_point(&pp);
|
||||
|
|
Loading…
Reference in a new issue