perf annotate: Show group event string for stdio
PATCH 1/1 perf annotate: Show group event string for stdio
When we enable the group, for tui/stdio2, the output first line includes the group event string. While for stdio, it will show only one event.
For example,
perf record -e cycles,branches ./div
perf annotate --group --stdio
Percent | Source code & Disassembly of div for cycles (44407 samples)
......
The first line doesn't include the event 'branches'.
With this patch, it will show the correct group even string.
perf annotate --group --stdio
Percent | Source code & Disassembly of div for cycles, branches (44407 samples)
......
--- tools/perf/util/annotate.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
tools/perf/util/annotate.c +5 -1
@@ -1965,6 +1965,7 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,u64 len;int width = symbol_conf.show_total_period ?12 :8 ;int graph_dotted_len; +char buf[512 ]; filename =strdup (dso->long_name);if (!filename)
@@ -1977,8 +1978,11 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map, len =symbol__size (sym); -if (perf_evsel__is_group_event (evsel)) +if (perf_evsel__is_group_event (evsel)) { width *= evsel->nr_members; +perf_evsel__group_desc (evsel, buf,sizeof (buf)); + evsel_name = buf; + } graph_dotted_len = printf(" %-*.*s| Source code & Disassembly of %s for %s (%" PRIu64 " samples)\n", width, width, symbol_conf.show_total_period ? "Period" :
Signature · 1 line
2.7.4
Em Tue, May 22, 2018 at 07:38:35PM +0800, Jin Yao escreveu:
Quoted 3 lines
When we enable the group, for tui/stdio2, the output first line includes the group event string. While for stdio, it will show only one event.
Thanks, applied.
- Arnaldo
tip-bot for Jin Yao
merge botperf annotate: Show group event string for stdio
Commit-ID: 787e4da9f95fd44376b3af6fa163ac0b3a48a1fc Gitweb: https://git.kernel.org/tip/787e4da9f95fd44376b3af6fa163ac0b3a48a1fc Author: Jin Yao <[email protected]> AuthorDate: Tue, 22 May 2018 19:38:35 +0800 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 23 May 2018 10:26:40 -0300
perf annotate: Show group event string for stdio
When we enable the group, for tui/stdio2, the output first line includes the group event string. While for stdio, it will show only one event.
For example,
perf record -e cycles,branches ./div
perf annotate --group --stdio
Percent | Source code & Disassembly of div for cycles (44407 samples)
......
The first line doesn't include the event 'branches'.
With this patch, it will show the correct group even string.
perf annotate --group --stdio
Percent | Source code & Disassembly of div for cycles, branches (44407 samples)
......
--- tools/perf/util/annotate.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
tools/perf/util/annotate.c +5 -1
@@ -1965,6 +1965,7 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,u64 len;int width = symbol_conf.show_total_period ?12 :8 ;int graph_dotted_len; +char buf[512 ]; filename =strdup (dso->long_name);if (!filename)
@@ -1977,8 +1978,11 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map, len =symbol__size (sym); -if (perf_evsel__is_group_event (evsel)) +if (perf_evsel__is_group_event (evsel)) { width *= evsel->nr_members; +perf_evsel__group_desc (evsel, buf,sizeof (buf)); + evsel_name = buf; + } graph_dotted_len = printf(" %-*.*s| Source code & Disassembly of %s for %s (%" PRIu64 " samples)\n", width, width, symbol_conf.show_total_period ? "Period" :