perf hist browser: Fix hierarchy column counts
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-and-Tested-by: Markus Trippelsdorf <markus@trippelsdorf.de> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20161024162110.17918-1-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
f92b760414
commit
9cba984454
|
@ -2076,8 +2076,21 @@ void hist_browser__init(struct hist_browser *browser,
|
||||||
browser->b.use_navkeypressed = true;
|
browser->b.use_navkeypressed = true;
|
||||||
browser->show_headers = symbol_conf.show_hist_headers;
|
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;
|
++browser->b.columns;
|
||||||
|
} else {
|
||||||
|
hists__for_each_format(hists, fmt)
|
||||||
|
++browser->b.columns;
|
||||||
|
}
|
||||||
|
|
||||||
hists__reset_column_width(hists);
|
hists__reset_column_width(hists);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue