Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1507380 > unrolled thread

[PATCH] perf hist browser: Fix hierarchy column counts

Started byNamhyung Kim <namhyung@kernel.org>
First post2016-10-24 18:30 +0200
Last post2016-10-24 21:40 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] perf hist browser: Fix hierarchy column counts Namhyung Kim <namhyung@kernel.org> - 2016-10-24 18:30 +0200
    Re: [PATCH] perf hist browser: Fix hierarchy column counts Markus Trippelsdorf <markus@trippelsdorf.de> - 2016-10-24 19:10 +0200
      Re: [PATCH] perf hist browser: Fix hierarchy column counts Markus Trippelsdorf <markus@trippelsdorf.de> - 2016-10-24 21:40 +0200

#1507380 — [PATCH] perf hist browser: Fix hierarchy column counts

FromNamhyung Kim <namhyung@kernel.org>
Date2016-10-24 18:30 +0200
Subject[PATCH] perf hist browser: Fix hierarchy column counts
Message-ID<svQim-1Di-59@gated-at.bofh.it>
The perf report/top on TUI supports horizontal scrolling using LEFT and
RIGHT keys.  But it calculate the number of columns incorrectly when
hierarchy mode is enabled so that keep pressing RIGHT key can make the
output disappeared.  In the hierarchy mode, all sort keys are collapsed
into a single column, so it needs to be applied when calculating column
numbers.

Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/ui/browsers/hists.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index 7ed67860b423..344f95719f72 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -2076,8 +2076,21 @@ void hist_browser__init(struct hist_browser *browser,
 	browser->b.use_navkeypressed	= true;
 	browser->show_headers		= symbol_conf.show_hist_headers;
 
-	hists__for_each_format(hists, fmt)
+	if (symbol_conf.report_hierarchy) {
+		struct perf_hpp_list_node *fmt_node;
+
+		/* count overhead columns (in the first node) */
+		fmt_node = list_first_entry(&hists->hpp_formats,
+					    struct perf_hpp_list_node, list);
+		perf_hpp_list__for_each_format(&fmt_node->hpp, fmt)
+			++browser->b.columns;
+
+		/* add a single column for whole hierarchy sort keys*/
 		++browser->b.columns;
+	} else {
+		hists__for_each_format(hists, fmt)
+			++browser->b.columns;
+	}
 
 	hists__reset_column_width(hists);
 }
-- 
2.10.1

[toc] | [next] | [standalone]


#1507464

FromMarkus Trippelsdorf <markus@trippelsdorf.de>
Date2016-10-24 19:10 +0200
Message-ID<svQV4-26N-15@gated-at.bofh.it>
In reply to#1507380
On 2016.10.25 at 01:21 +0900, Namhyung Kim wrote:
> The perf report/top on TUI supports horizontal scrolling using LEFT and
> RIGHT keys.  But it calculate the number of columns incorrectly when
> hierarchy mode is enabled so that keep pressing RIGHT key can make the
> output disappeared.  In the hierarchy mode, all sort keys are collapsed
> into a single column, so it needs to be applied when calculating column
> numbers.

Thanks, this is much better now. 

But it doesn't scroll wide enough. In "perf top" when I press the RIGHT
key the symbols are shown on the hard left side. In "perf top --hierarchy",
when I press the RIGHT key, there are 5 empty spaces on the left hand
side that should be deleted.

-- 
Markus

[toc] | [prev] | [next] | [standalone]


#1507659

FromMarkus Trippelsdorf <markus@trippelsdorf.de>
Date2016-10-24 21:40 +0200
Message-ID<svTge-3ya-13@gated-at.bofh.it>
In reply to#1507464
On 2016.10.24 at 19:00 +0200, Markus Trippelsdorf wrote:
> On 2016.10.25 at 01:21 +0900, Namhyung Kim wrote:
> > The perf report/top on TUI supports horizontal scrolling using LEFT and
> > RIGHT keys.  But it calculate the number of columns incorrectly when
> > hierarchy mode is enabled so that keep pressing RIGHT key can make the
> > output disappeared.  In the hierarchy mode, all sort keys are collapsed
> > into a single column, so it needs to be applied when calculating column
> > numbers.
> 
> Thanks, this is much better now. 
> 
> But it doesn't scroll wide enough. In "perf top" when I press the RIGHT
> key the symbols are shown on the hard left side. In "perf top --hierarchy",
> when I press the RIGHT key, there are 5 empty spaces on the left hand
> side that should be deleted.

It might be a good idea to keep the + and - signs on the left hand side
when scrolling horizontally like "perf report -g" does.

-- 
Markus

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web