[PATCH v4 7/9] perf annotate browser: Circulate percent, total period, samples view

From: Taeung Song
Date: Thu Jul 27 2017 - 12:16:45 EST


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 <namhyung@xxxxxxxxxx>
Cc: Milian Wolff <milian.wolff@xxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Signed-off-by: Taeung Song <treeze.taeung@xxxxxxxxx>
---
tools/perf/ui/browsers/annotate.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c
index 6b57e87..6c4db1d 100644
--- a/tools/perf/ui/browsers/annotate.c
+++ b/tools/perf/ui/browsers/annotate.c
@@ -838,7 +838,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"
@@ -915,8 +915,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:
--
2.7.4