Cc: Namhyung Kim <namhy...@kernel.org> Cc: Milian Wolff <milian.wo...@kdab.com> Cc: Jiri Olsa <jo...@redhat.com> Signed-off-by: Taeung Song <treeze.tae...@gmail.com> --- tools/perf/ui/browsers/annotate.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c index 34b3189..19173b1 100644 --- a/tools/perf/ui/browsers/annotate.c +++ b/tools/perf/ui/browsers/annotate.c @@ -41,6 +41,7 @@ static struct annotate_browser_opt { jump_arrows, show_linenr, show_nr_jumps, + show_nr_samples, show_total_period; } annotate_browser__opts = { .use_offset = true, @@ -156,6 +157,9 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int if (annotate_browser__opts.show_total_period) { ui_browser__printf(browser, "%10" PRIu64 " ", bdl->samples[i].sample.period); + } else if (annotate_browser__opts.show_nr_samples) { + ui_browser__printf(browser, "%6" PRIu64 " ", + bdl->samples[i].sample.nr_samples); } else { ui_browser__printf(browser, "%6.2f ", bdl->samples[i].percent); @@ -169,6 +173,8 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int else { if (annotate_browser__opts.show_total_period) ui_browser__printf(browser, "%*s", 11, "Event count"); + else if (annotate_browser__opts.show_nr_samples) + ui_browser__printf(browser, "%*s", 7, "Samples"); else ui_browser__printf(browser, "%*s", 7, "Percent"); } @@ -834,6 +840,7 @@ static int annotate_browser__run(struct annotate_browser *browser, "o Toggle disassembler output/simplified view\n" "s Toggle source code view\n" "t Toggle total period view\n" + "e Toggle number of samples\n" "/ Search string\n" "k Toggle line numbers\n" "r Run available scripts\n" @@ -914,6 +921,12 @@ static int annotate_browser__run(struct annotate_browser *browser, !annotate_browser__opts.show_total_period; annotate_browser__update_addr_width(browser); continue; + case 'e': + annotate_browser__opts.show_total_period = false; + annotate_browser__opts.show_nr_samples = + !annotate_browser__opts.show_nr_samples; + annotate_browser__update_addr_width(browser); + continue; case K_LEFT: case K_ESC: case 'q': @@ -934,9 +947,11 @@ static int annotate_browser__run(struct annotate_browser *browser, int map_symbol__tui_annotate(struct map_symbol *ms, struct perf_evsel *evsel, struct hist_browser_timer *hbt) { - /* Set default value for show_total_period. */ + /* Set default value for show_total_period and show_nr_samples */ annotate_browser__opts.show_total_period = symbol_conf.show_total_period; + annotate_browser__opts.show_nr_samples = + symbol_conf.show_nr_samples; return symbol__tui_annotate(ms->sym, ms->map, evsel, hbt); } @@ -1187,6 +1202,7 @@ static struct annotate_config { ANNOTATE_CFG(jump_arrows), ANNOTATE_CFG(show_linenr), ANNOTATE_CFG(show_nr_jumps), + ANNOTATE_CFG(show_nr_samples), ANNOTATE_CFG(show_total_period), ANNOTATE_CFG(use_offset), }; -- 2.7.4