Re: [PATCH 1/3] perf ui/tui: Reset output width for hierarchy

From: Jiri Olsa
Date: Tue Sep 20 2016 - 03:07:35 EST


On Tue, Sep 20, 2016 at 02:30:23PM +0900, Namhyung Kim wrote:
> When --hierarchy option is used, each entry has its own hpp_list to show
> the result. But it missed to update width of each column.
>
> Before:
>
> - 46.29% 48.12% netctl-auto
> + 31.44% 29.25% [kernel.vmlinux]
> + 8.52% 11.55% libc-2.22.so
> + 5.19% 6.91% bash
> + 10.75% 11.83% wpa_cli
> + 8.25% 2.23% swapper
> + 6.45% 5.40% tr
> + 4.81% 8.09% awk
> + 4.15% 2.85% firefox
> + 3.86% 2.53% sh
>
> After:
>
> - 46.29% 48.12% netctl-auto
> + 31.44% 29.25% [kernel.vmlinux]
> + 8.52% 11.55% libc-2.22.so
> + 5.19% 6.91% bash
> + 10.75% 11.83% wpa_cli
> + 8.25% 2.23% swapper
> + 6.45% 5.40% tr
> + 4.81% 8.09% awk
> + 4.15% 2.85% firefox
> + 3.86% 2.53% sh
>
> Fixes: 1b2dbbf41a0f ("perf hists: Use own hpp_list for hierarchy mode")
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka

> ---
> tools/perf/ui/browsers/hists.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
> index 35e44b1879e3..49db16334814 100644
> --- a/tools/perf/ui/browsers/hists.c
> +++ b/tools/perf/ui/browsers/hists.c
> @@ -2067,6 +2067,7 @@ void hist_browser__init(struct hist_browser *browser,
> struct hists *hists)
> {
> struct perf_hpp_fmt *fmt;
> + struct perf_hpp_list_node *node;
>
> browser->hists = hists;
> browser->b.refresh = hist_browser__refresh;
> @@ -2079,6 +2080,11 @@ void hist_browser__init(struct hist_browser *browser,
> perf_hpp__reset_width(fmt, hists);
> ++browser->b.columns;
> }
> + /* hierarchy entries have their own hpp list */
> + list_for_each_entry(node, &hists->hpp_formats, list) {
> + perf_hpp_list__for_each_format(&node->hpp, fmt)
> + perf_hpp__reset_width(fmt, hists);
> + }
> }
>
> struct hist_browser *hist_browser__new(struct hists *hists)
> --
> 2.9.3
>