All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC/PATCHSET 00/17] perf tools: Add support for hierachy view (v2)
@ 2016-01-16 16:03 Namhyung Kim
  2016-01-16 16:03 ` [PATCH 01/17] perf hists: Basic support of hierarchical report view Namhyung Kim
                   ` (21 more replies)
  0 siblings, 22 replies; 87+ messages in thread
From: Namhyung Kim @ 2016-01-16 16:03 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, Peter Zijlstra, Jiri Olsa, LKML, David Ahern,
	Stephane Eranian, Andi Kleen, Wang Nan, Don Zickus, Pekka Enberg,
	Moinuddin Quadri

Hello,

This is v2 attempt of my earlier patchset [1].  This patchset
implements a new feature that collects hist entries in a hierachical
manner.  That means lower-level entries belong to an upper-level
entry.  The entry hierachy is built on the sort keys given, so users
can set it whatever they want.  It only shows top-level entries first,
and user can expand/collapse it dynamically.

This time I implemented it for every output browser including TUI.
A screenshot on TUI looks like below:

For normal output:

  $ perf report --tui
  Samples: 3K of event 'cycles:pp', Event count (approx.): 1695979674
    Overhead  Command        Shared Object         Symbol
  ------------------------------------------------------------------------
  -    7.57%  swapper        [kernel.vmlinux]      [k] intel_idle
       intel_idle
       cpuidle_enter_state
       cpuidle_enter
       call_cpuidle
     + cpu_startup_entry
  +    1.16   firefox        firefox               [.] 0x00000000000019433
  +    0.97%  firefox        libpthread-2.22.so    [.] pthread_mutex_lock
  ...


With hierarchy view,

  $ perf report --tui --hierarchy
  Samples: 3K of event 'cycles:pp', Event count (approx.): 1695979674
   Overhead        Command / Shared Object / Symbol
  -------------------------------------------------------------------
  +  76.30%        firefox
  -   9.95%        swapper
     -   9.51%        [kernel.vmlinux]
        -   7.57         [k] intel_idle
	     intel_idle
	     cpuidle_enter_state
	     cpuidle_enter
	     call_cpuidle
	   + cpu_startup_entry
	+   0.15%        [k] __schedule
	+   0.12%        [k] menu_select
	...
     +   0.34%        [sdhci]
     +   0.06%        [e1000e]
     ...
 +    5.65%        Xorg
 +    5.42%        Socket Thread
 ...

As you can see, overhead of an upper level entry is the sum of
overhead of lower level entries.  The entries are aligned by its order
of matching sort keys.

This is available from 'perf/hierarchy-v2' branch in my tree:

  git://git.kernel.org/pub/scm/linux/kernel/git/namhyung-perf.git


Any comments are welcome, thanks!
Namhyung


Cc: Don Zickus <dzickus@redhat.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Moinuddin Quadri <moin18@gmail.com>


[1] https://lkml.org/lkml/2013/5/21/24


Namhyung Kim (17):
  perf hists: Basic support of hierarchical report view
  perf hists: Resort hist entries with hierarchy
  perf hists: Add helper functions for hierarchy mode
  perf hists: Cleanup filtering functions
  perf hists: Support filtering in hierarchy mode
  perf ui/stdio: Implement hierarchy output mode
  perf ui/stdio: Align column header for hierarchy output
  perf hists browser: Fix context menu item
  perf hists browser: Count number of hierarchy entries
  perf hists browser: Support collapsing/expanding whole entries in
    hierarchy
  perf hists browser: Factor out hist_browser__show_callchain()
  perf hists browser: Implement hierarchy output
  perf hists browser: Align column header in hierarchy mode
  perf ui/gtk: Implement hierarchy output mode
  perf report: Add --hierarchy option
  perf hists: Support decaying in hierarchy mode
  perf top: Add --hierarchy option

 tools/perf/Documentation/perf-report.txt |   3 +
 tools/perf/Documentation/perf-top.txt    |   3 +
 tools/perf/Documentation/tips.txt        |   1 +
 tools/perf/builtin-report.c              |  17 +
 tools/perf/builtin-top.c                 |  15 +
 tools/perf/ui/browsers/hists.c           | 590 ++++++++++++++++++++++++++-----
 tools/perf/ui/gtk/hists.c                | 161 ++++++++-
 tools/perf/ui/hist.c                     |  14 +
 tools/perf/ui/stdio/hist.c               | 182 +++++++++-
 tools/perf/util/hist.c                   | 470 ++++++++++++++++++++----
 tools/perf/util/hist.h                   |  11 +
 tools/perf/util/sort.c                   | 116 ++++++
 tools/perf/util/sort.h                   |  16 +-
 tools/perf/util/symbol.h                 |   3 +-
 14 files changed, 1437 insertions(+), 165 deletions(-)

-- 
2.6.4

^ permalink raw reply	[flat|nested] 87+ messages in thread

end of thread, other threads:[~2016-02-03 10:13 UTC | newest]

Thread overview: 87+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-16 16:03 [RFC/PATCHSET 00/17] perf tools: Add support for hierachy view (v2) Namhyung Kim
2016-01-16 16:03 ` [PATCH 01/17] perf hists: Basic support of hierarchical report view Namhyung Kim
2016-01-17 16:15   ` Jiri Olsa
2016-01-19 10:51     ` Namhyung Kim
2016-01-19 16:50       ` Arnaldo Carvalho de Melo
2016-01-20 17:00         ` Jiri Olsa
2016-01-20 17:09           ` Arnaldo Carvalho de Melo
2016-01-21  4:08           ` Namhyung Kim
2016-01-21 10:43   ` Jiri Olsa
2016-01-21 12:55     ` Namhyung Kim
2016-01-21 13:35       ` Jiri Olsa
2016-01-21 14:02         ` Arnaldo Carvalho de Melo
2016-01-22 10:44           ` Namhyung Kim
2016-01-22 10:43         ` Namhyung Kim
2016-01-22 11:37           ` Jiri Olsa
2016-01-21 11:35   ` Jiri Olsa
2016-01-21 13:01     ` Namhyung Kim
2016-01-16 16:03 ` [PATCH 02/17] perf hists: Resort hist entries with hierarchy Namhyung Kim
2016-01-21 11:41   ` Jiri Olsa
2016-01-21 13:03     ` Namhyung Kim
2016-01-16 16:03 ` [PATCH 03/17] perf hists: Add helper functions for hierarchy mode Namhyung Kim
2016-01-20 22:19   ` Arnaldo Carvalho de Melo
2016-01-21  3:59     ` Namhyung Kim
2016-01-21  4:19       ` [PATCH v2 " Namhyung Kim
2016-01-21 13:05         ` Namhyung Kim
2016-01-16 16:03 ` [PATCH 04/17] perf hists: Cleanup filtering functions Namhyung Kim
2016-01-19 20:39   ` Arnaldo Carvalho de Melo
2016-01-20  1:15     ` [PATCH v2 04.1/17] perf hists: Remove parent filter check in DSO filter function Namhyung Kim
2016-01-20  1:15       ` [PATCH v2 04.2/17] perf hists: Cleanup filtering functions Namhyung Kim
2016-01-21 12:02         ` Jiri Olsa
2016-02-03 10:08         ` [tip:perf/core] " tip-bot for Namhyung Kim
2016-01-21 12:02       ` [PATCH v2 04.1/17] perf hists: Remove parent filter check in DSO filter function Jiri Olsa
2016-02-03 10:07       ` [tip:perf/core] " tip-bot for Namhyung Kim
2016-01-16 16:03 ` [PATCH 05/17] perf hists: Support filtering in hierarchy mode Namhyung Kim
2016-01-16 16:03 ` [PATCH 06/17] perf ui/stdio: Implement hierarchy output mode Namhyung Kim
2016-01-16 16:03 ` [PATCH 07/17] perf ui/stdio: Align column header for hierarchy output Namhyung Kim
2016-01-20 22:40   ` Arnaldo Carvalho de Melo
2016-01-21  4:00     ` Namhyung Kim
2016-01-16 16:03 ` [PATCH 08/17] perf hists browser: Fix context menu item Namhyung Kim
2016-01-21  0:52   ` Arnaldo Carvalho de Melo
2016-01-21  4:07     ` Namhyung Kim
2016-01-21 23:51       ` Arnaldo Carvalho de Melo
2016-01-22 11:08         ` Namhyung Kim
2016-01-22 14:37   ` Dynamicly add/remove sort keys was: " Arnaldo Carvalho de Melo
2016-02-03 10:10   ` [tip:perf/core] perf sort: Provide a way to find out if per-thread bucketing is in place tip-bot for Namhyung Kim
2016-02-03 10:11   ` [tip:perf/core] perf hists browser: Only 'Zoom into thread' only when sort order has 'pid' tip-bot for Namhyung Kim
2016-02-03 10:11   ` [tip:perf/core] perf hists browser: Only offer symbol scripting when a symbol is under the cursor tip-bot for Namhyung Kim
2016-02-03 10:11   ` [tip:perf/core] perf hists browser: Offer 'Zoom into DSO'/' Map details' only when sort order has 'dso' tip-bot for Namhyung Kim
2016-02-03 10:12   ` [tip:perf/core] perf hists browser: Be a bit more strict about presenting CPU socket zoom tip-bot for Namhyung Kim
2016-02-03 10:12   ` [tip:perf/core] perf hists browser: Offer non-symbol specific menu options for --sort without 'sym' tip-bot for Namhyung Kim
2016-01-16 16:03 ` [PATCH 09/17] perf hists browser: Count number of hierarchy entries Namhyung Kim
2016-01-16 16:03 ` [PATCH 10/17] perf hists browser: Support collapsing/expanding whole entries in hierarchy Namhyung Kim
2016-01-16 16:03 ` [PATCH 11/17] perf hists browser: Factor out hist_browser__show_callchain() Namhyung Kim
2016-01-16 16:03 ` [PATCH 12/17] perf hists browser: Implement hierarchy output Namhyung Kim
2016-01-16 16:03 ` [PATCH 13/17] perf hists browser: Align column header in hierarchy mode Namhyung Kim
2016-01-16 16:03 ` [PATCH 14/17] perf ui/gtk: Implement hierarchy output mode Namhyung Kim
2016-01-16 16:03 ` [PATCH 15/17] perf report: Add --hierarchy option Namhyung Kim
2016-01-16 16:03 ` [PATCH 16/17] perf hists: Support decaying in hierarchy mode Namhyung Kim
2016-01-16 16:03 ` [PATCH 17/17] perf top: Add --hierarchy option Namhyung Kim
2016-01-17 10:25 ` [RFC/PATCHSET 00/17] perf tools: Add support for hierachy view (v2) Pekka Enberg
2016-01-19 10:42   ` Namhyung Kim
2016-01-17 19:31 ` Andi Kleen
2016-01-19 10:45   ` Namhyung Kim
2016-01-19 21:03     ` Arnaldo Carvalho de Melo
2016-01-19 21:07       ` Arnaldo Carvalho de Melo
2016-01-19 22:12     ` Andi Kleen
2016-01-19 22:24       ` Arnaldo Carvalho de Melo
2016-01-20  0:56         ` Namhyung Kim
2016-01-20  1:11           ` Andi Kleen
2016-01-20  1:36             ` Namhyung Kim
2016-01-20  1:43               ` Andi Kleen
2016-01-20 13:34           ` Arnaldo Carvalho de Melo
2016-01-19 20:00 ` Arnaldo Carvalho de Melo
2016-01-19 20:52 ` Arnaldo Carvalho de Melo
2016-01-20  0:19   ` Namhyung Kim
2016-01-19 20:59 ` Arnaldo Carvalho de Melo
2016-01-20  0:34   ` Namhyung Kim
2016-01-20  5:28     ` Andi Kleen
2016-01-20  7:49     ` Taeung Song
2016-01-20 15:08       ` Namhyung Kim
2016-01-20 16:34         ` Taeung Song
2016-01-21  4:17           ` Namhyung Kim
2016-01-21  4:58             ` Taeung Song
2016-01-20 13:32     ` Arnaldo Carvalho de Melo
2016-01-20 15:01       ` Namhyung Kim
2016-01-20 15:25         ` Arnaldo Carvalho de Melo
2016-01-20 15:29           ` Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.