Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755609AbdGSRQB (ORCPT ); Wed, 19 Jul 2017 13:16:01 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:34469 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753840AbdGSRP7 (ORCPT ); Wed, 19 Jul 2017 13:15:59 -0400 Subject: Re: [PATCH v2 8/9] perf annotate browser: Support the toggle number of samples with a 'e' hotkey To: Namhyung Kim , Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, Milian Wolff , Jiri Olsa , kernel-team@lge.com References: <1499967976-15674-1-git-send-email-treeze.taeung@gmail.com> <20170718161857.GB12241@danjae.aot.lge.com> From: Taeung Song Message-ID: <036741e8-c0d0-2e02-0506-7b71eff8d19a@gmail.com> Date: Thu, 20 Jul 2017 02:15:56 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170718161857.GB12241@danjae.aot.lge.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4554 Lines: 119 On 07/19/2017 01:18 AM, Namhyung Kim wrote: > On Fri, Jul 14, 2017 at 02:46:16AM +0900, Taeung Song wrote: >> Cc: Namhyung Kim >> Cc: Milian Wolff >> Cc: Jiri Olsa >> Signed-off-by: Taeung Song > > Hmm.. IIUC there're 3 modes of annotation view: percent, period and > sample, right? The existing 't' hotkey seems to toggle between > percent and period. And you added 'e' for sample and percent, right? > > I'm not sure percent by sample and percent by period are both needed. > If so, I think it's better to add a hotkey to toggle between percent > and value (both for period and sample). And existing key should > toggle between sample and period. > > If percent by sample is not meaningful, I'd rather make the hotkey to > circulate through percent, period and sample. > > Thanks, > Namhyung > > I agree on it. It seems to be better than two hot key ! I'll change this patch based on your comment. Arnaldo, what do you think about this ? On annotate TUI browser hot key: 't' circulating: "Percent" -> "Sample" -> "Period" -> "Percent" -> ... Thanks, Taeung >> --- >> 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 >>