Re: [RFC/PATCHSET 00/17] perf tools: Add support for hierachy view (v2)
From: Namhyung Kim
Date: Tue Jan 19 2016 - 19:19:46 EST
Hi Arnaldo,
On Tue, Jan 19, 2016 at 05:52:26PM -0300, Arnaldo Carvalho de Melo wrote:
> 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.
Oops, sorry about that. I should not type it manually..
Thanks,
Namhyung