Hi,
On Fri, 8 Jun 2012 16:23:27 +0400, Dmitry Antipov wrote:
Use trace_find_event to find event name before looking through /sys files. This helps 'perf report' to show real event names instead of 'unknown:unknown' when processing perf.data recorded on another machine.
Right, it should be a default action for a tracepoint event IMHO. (But this patch doesn't check it's a tracepoint) There are a lot of places call event_name() to be converted like this, so I suggest changing event_name itself (or recent perf_evsel__name() ?) instead of just a call-site. It might require checking whether the pevent is initialized and if not, falls back to the sysfs walking.
Thanks, Namhyung
Signed-off-by: Dmitry Antipov dmitry.antipov@linaro.org
tools/perf/builtin-report.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 8c767c6..a6fd309 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -24,6 +24,7 @@ #include "util/evlist.h" #include "util/evsel.h" #include "util/header.h" +#include "util/trace-event.h" #include "util/session.h" #include "util/tool.h" @@ -314,7 +315,8 @@ static int perf_evlist__tty_browse_hists(struct perf_evlist *evlist, list_for_each_entry(pos, &evlist->entries, node) { struct hists *hists = &pos->hists;
const char *evname = event_name(pos);
struct event_format *event = trace_find_event(pos->attr.config);
const char *evname = event ? event->name : event_name(pos);
hists__fprintf_nr_sample_events(hists, evname, stdout); hists__fprintf(hists, NULL, false, true, 0, 0, stdout);