Re: [RFC/PATCHSET 00/17] perf tools: Add support for hierachy view (v2)

From: Arnaldo Carvalho de Melo
Date: Tue Jan 19 2016 - 15:52:39 EST


Em Sun, Jan 17, 2016 at 01:03:00AM +0900, Namhyung Kim escreveu:
> 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

Didn't work:

[acme@jouet linux]$ git remote add namhyung git://git.kernel.org/pub/scm/linux/kernel/git/namhyung-perf.git
[acme@jouet linux]$ git remote update namhyung
Fetching namhyung
fatal: remote error: access denied or repository not exported: /pub/scm/linux/kernel/git/namhyung-perf.git
error: Could not fetch namhyung
[acme@jouet linux]$

I looked it up and this one works:

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

Doing a test merge to test this.

- Arnaldo