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.
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);