[tip:perf/core] perf ui/tui: Reset output width for hierarchy

2016-09-20 Thread tip-bot for Namhyung Kim
Commit-ID:  5ff3e7a224d40f9dd73625b91377787034a8b35e
Gitweb: http://git.kernel.org/tip/5ff3e7a224d40f9dd73625b91377787034a8b35e
Author: Namhyung Kim 
AuthorDate: Tue, 20 Sep 2016 14:30:23 +0900
Committer:  Arnaldo Carvalho de Melo 
CommitDate: Tue, 20 Sep 2016 16:08:30 -0300

perf ui/tui: Reset output width for hierarchy

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

Committer note:

Full testing instructions:

1) Record with an event group:

  $ perf record -e '{cycles,instructions}' make -j4

2) Use report in hierarchy mode, to get a few expanded trees on
   the same screen, use --percent-limit:

  $ perf report --hierarchy --percent-limit 0.5

Samples: 103K of event 'anon group { cycles:u, instructions:u }',
Event count (approx.): 57317631725
 OverheadCommand / Shared Object / Symbol◆
-  58.89%  55.12%cc1 ▒
   -  50.26%  48.10%cc1  ▒
  3.61%   5.13%[.] _cpp_lex_token▒
  2.58%   0.78%[.] ht_lookup_with_hash   ▒
  1.31%   1.30%[.] ggc_internal_alloc▒
  1.08%   2.25%[.] get_combined_adhoc_loc▒
  1.01%   1.95%[.] ira_init  ▒
  0.96%   1.78%[.] linemap_position_for_column   ▒
  0.65%   1.01%[.] cpp_get_token_with_location   ▒
   -   7.52%   6.58%libc-2.23.so ▒
  1.70%   1.78%[.] _int_malloc   ▒
  0.69%   0.75%[.] _int_free ▒
  0.67%   0.42%[.] malloc_consolidate▒
   -   0.58%   0.42%ld-2.23.so   ▒
   no entry >= 0.50% ▒
   -   0.52%   0.03%[kernel.vmlinux] ▒
   no entry >= 0.50% ▒

Signed-off-by: Namhyung Kim 
Acked-by: Jiri Olsa 
Cc: Andi Kleen 
Cc: Peter Zijlstra 
Fixes: 1b2dbbf41a0f ("perf hists: Use own hpp_list for hierarchy mode")
Link: http://lkml.kernel.org/r/20160920053025.13989-1-namhy...@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo 
---
 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 35e44b1..49db163 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, >hpp_formats, list) {
+   perf_hpp_list__for_each_format(>hpp, fmt)
+   perf_hpp__reset_width(fmt, hists);
+   }
 }
 
 struct hist_browser *hist_browser__new(struct hists *hists)


[tip:perf/core] perf ui/tui: Reset output width for hierarchy

2016-09-20 Thread tip-bot for Namhyung Kim
Commit-ID:  5ff3e7a224d40f9dd73625b91377787034a8b35e
Gitweb: http://git.kernel.org/tip/5ff3e7a224d40f9dd73625b91377787034a8b35e
Author: Namhyung Kim 
AuthorDate: Tue, 20 Sep 2016 14:30:23 +0900
Committer:  Arnaldo Carvalho de Melo 
CommitDate: Tue, 20 Sep 2016 16:08:30 -0300

perf ui/tui: Reset output width for hierarchy

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

Committer note:

Full testing instructions:

1) Record with an event group:

  $ perf record -e '{cycles,instructions}' make -j4

2) Use report in hierarchy mode, to get a few expanded trees on
   the same screen, use --percent-limit:

  $ perf report --hierarchy --percent-limit 0.5

Samples: 103K of event 'anon group { cycles:u, instructions:u }',
Event count (approx.): 57317631725
 OverheadCommand / Shared Object / Symbol◆
-  58.89%  55.12%cc1 ▒
   -  50.26%  48.10%cc1  ▒
  3.61%   5.13%[.] _cpp_lex_token▒
  2.58%   0.78%[.] ht_lookup_with_hash   ▒
  1.31%   1.30%[.] ggc_internal_alloc▒
  1.08%   2.25%[.] get_combined_adhoc_loc▒
  1.01%   1.95%[.] ira_init  ▒
  0.96%   1.78%[.] linemap_position_for_column   ▒
  0.65%   1.01%[.] cpp_get_token_with_location   ▒
   -   7.52%   6.58%libc-2.23.so ▒
  1.70%   1.78%[.] _int_malloc   ▒
  0.69%   0.75%[.] _int_free ▒
  0.67%   0.42%[.] malloc_consolidate▒
   -   0.58%   0.42%ld-2.23.so   ▒
   no entry >= 0.50% ▒
   -   0.52%   0.03%[kernel.vmlinux] ▒
   no entry >= 0.50% ▒

Signed-off-by: Namhyung Kim 
Acked-by: Jiri Olsa 
Cc: Andi Kleen 
Cc: Peter Zijlstra 
Fixes: 1b2dbbf41a0f ("perf hists: Use own hpp_list for hierarchy mode")
Link: http://lkml.kernel.org/r/20160920053025.13989-1-namhy...@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo 
---
 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 35e44b1..49db163 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, >hpp_formats, list) {
+   perf_hpp_list__for_each_format(>hpp, fmt)
+   perf_hpp__reset_width(fmt, hists);
+   }
 }
 
 struct hist_browser *hist_browser__new(struct hists *hists)