[tip:perf/urgent] perf annotate stdio2: Print more descriptive event information header
Commit-ID: 520d3f01ea5322edeedff4bb25a0aff07ad72d43 Gitweb: https://git.kernel.org/tip/520d3f01ea5322edeedff4bb25a0aff07ad72d43 Author: Arnaldo Carvalho de MeloAuthorDate: Mon, 2 Apr 2018 16:42:01 -0300 Committer: Arnaldo Carvalho de Melo CommitDate: Tue, 3 Apr 2018 16:05:13 -0300 perf annotate stdio2: Print more descriptive event information header To match the recently added event header information to --tui, e.g.: # perf annotate --ignore-vmlinux --stdio2 _raw_spin_lock_irqsave Samples: 128 of event 'cycles:ppp', 4000 Hz, Event count (approx.): 48617682 _raw_spin_lock_irqsave() /proc/kcore 0.78nop 7.03push %rbx 3.12pushfq 6.25pop%rax nop mov%rax,%rbx 3.12cli nop xor%eax,%eax mov$0x1,%edx 79.69lock cmpxchg %edx,(%rdi) test %eax,%eax ↓ jne2b mov%rbx,%rax pop%rbx ← retq 2b: mov%eax,%esi → callq *b30eaed0 mov%rbx,%rax pop%rbx ← retq # Cc: Adrian Hunter Cc: David Ahern Cc: Jiri Olsa Cc: Martin Liška Cc: Namhyung Kim Cc: Wang Nan Link: https://lkml.kernel.org/n/tip-ujy46x7cldyhyxelyf2b9...@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/annotate.c | 10 +++--- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index b956bb7eabcf..fffe16af9797 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c @@ -2325,7 +2325,7 @@ int symbol__tty_annotate2(struct symbol *sym, struct map *map, struct dso *dso = map->dso; struct rb_root source_line = RB_ROOT; struct annotation_options opts = annotation__default_options; - const char *ev_name = perf_evsel__name(evsel); + struct annotation *notes = symbol__annotation(sym); char buf[1024]; if (symbol__annotate2(sym, map, evsel, , NULL) < 0) @@ -2337,12 +2337,8 @@ int symbol__tty_annotate2(struct symbol *sym, struct map *map, print_summary(_line, dso->long_name); } - if (perf_evsel__is_group_event(evsel)) { - perf_evsel__group_desc(evsel, buf, sizeof(buf)); - ev_name = buf; - } - - fprintf(stdout, "%s() %s\nEvent: %s\n\n", sym->name, dso->long_name, ev_name); + annotation__scnprintf_samples_period(notes, buf, sizeof(buf), evsel); + fprintf(stdout, "%s\n%s() %s\n", buf, sym->name, dso->long_name); symbol__annotate_fprintf2(sym, stdout); annotated_source__purge(symbol__annotation(sym)->src);
[tip:perf/urgent] perf annotate stdio2: Print more descriptive event information header
Commit-ID: 520d3f01ea5322edeedff4bb25a0aff07ad72d43 Gitweb: https://git.kernel.org/tip/520d3f01ea5322edeedff4bb25a0aff07ad72d43 Author: Arnaldo Carvalho de Melo AuthorDate: Mon, 2 Apr 2018 16:42:01 -0300 Committer: Arnaldo Carvalho de Melo CommitDate: Tue, 3 Apr 2018 16:05:13 -0300 perf annotate stdio2: Print more descriptive event information header To match the recently added event header information to --tui, e.g.: # perf annotate --ignore-vmlinux --stdio2 _raw_spin_lock_irqsave Samples: 128 of event 'cycles:ppp', 4000 Hz, Event count (approx.): 48617682 _raw_spin_lock_irqsave() /proc/kcore 0.78nop 7.03push %rbx 3.12pushfq 6.25pop%rax nop mov%rax,%rbx 3.12cli nop xor%eax,%eax mov$0x1,%edx 79.69lock cmpxchg %edx,(%rdi) test %eax,%eax ↓ jne2b mov%rbx,%rax pop%rbx ← retq 2b: mov%eax,%esi → callq *b30eaed0 mov%rbx,%rax pop%rbx ← retq # Cc: Adrian Hunter Cc: David Ahern Cc: Jiri Olsa Cc: Martin Liška Cc: Namhyung Kim Cc: Wang Nan Link: https://lkml.kernel.org/n/tip-ujy46x7cldyhyxelyf2b9...@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/annotate.c | 10 +++--- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index b956bb7eabcf..fffe16af9797 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c @@ -2325,7 +2325,7 @@ int symbol__tty_annotate2(struct symbol *sym, struct map *map, struct dso *dso = map->dso; struct rb_root source_line = RB_ROOT; struct annotation_options opts = annotation__default_options; - const char *ev_name = perf_evsel__name(evsel); + struct annotation *notes = symbol__annotation(sym); char buf[1024]; if (symbol__annotate2(sym, map, evsel, , NULL) < 0) @@ -2337,12 +2337,8 @@ int symbol__tty_annotate2(struct symbol *sym, struct map *map, print_summary(_line, dso->long_name); } - if (perf_evsel__is_group_event(evsel)) { - perf_evsel__group_desc(evsel, buf, sizeof(buf)); - ev_name = buf; - } - - fprintf(stdout, "%s() %s\nEvent: %s\n\n", sym->name, dso->long_name, ev_name); + annotation__scnprintf_samples_period(notes, buf, sizeof(buf), evsel); + fprintf(stdout, "%s\n%s() %s\n", buf, sym->name, dso->long_name); symbol__annotate_fprintf2(sym, stdout); annotated_source__purge(symbol__annotation(sym)->src);