Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932814AbdGSVhX (ORCPT ); Wed, 19 Jul 2017 17:37:23 -0400 Received: from mail-pg0-f66.google.com ([74.125.83.66]:37708 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932697AbdGSVhU (ORCPT ); Wed, 19 Jul 2017 17:37:20 -0400 From: Taeung Song To: Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, Namhyung Kim , Milian Wolff , Jiri Olsa Subject: [PATCH v3 8/9] perf annotate browser: Circulate percent, total period, samples view Date: Thu, 20 Jul 2017 06:37:15 +0900 Message-Id: <1500500235-16886-1-git-send-email-treeze.taeung@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3943 Lines: 101 With a existing 't' hotkey, support the three view based on percent, total period and number of samples on the annotate TUI browser, circulating them like below. First column: Percent -> Event count -> Samples -> Percent ... Cc: Namhyung Kim Cc: Milian Wolff Cc: Jiri Olsa Signed-off-by: Taeung Song --- tools/perf/ui/browsers/annotate.c | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c index 7800fe2..8ecc519 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"); } @@ -833,7 +839,7 @@ static int annotate_browser__run(struct annotate_browser *browser, "n Search next string\n" "o Toggle disassembler output/simplified view\n" "s Toggle source code view\n" - "t Toggle total period view\n" + "t Circulate percent, total period, samples view\n" "/ Search string\n" "k Toggle line numbers\n" "r Run available scripts\n" @@ -910,8 +916,19 @@ static int annotate_browser__run(struct annotate_browser *browser, } continue; case 't': - annotate_browser__opts.show_total_period = - !annotate_browser__opts.show_total_period; + if (annotate_browser__opts.show_total_period) { + annotate_browser__opts.show_total_period = false; + annotate_browser__opts.show_nr_samples = true; + } else if (annotate_browser__opts.show_nr_samples) + annotate_browser__opts.show_nr_samples = false; + else + annotate_browser__opts.show_total_period = true; + 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: @@ -934,9 +951,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 +1206,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