Messages in this thread | | | Date | Thu, 3 Mar 2016 08:16:36 +0900 | From | Namhyung Kim <> | Subject | Re: [PATCHSET 0/8] perf tools: Support multiple keys in a single hierarchy level (v1) |
| |
Hi Arnaldo,
On Wed, Mar 02, 2016 at 01:25:07PM -0300, Arnaldo Carvalho de Melo wrote: > Em Thu, Mar 03, 2016 at 01:12:00AM +0900, Namhyung Kim escreveu: > > Hello, > > > > This implements what Arnaldo suggested in previous discussion of > > hierarchy patchset [1]. Originally each level in a hierarchy can have > > a single sort key in it, but with patches it's possible to have more > > than one sort keys. I added the struct perf_hpp_list_node and carry > > it to group output formats (hpp_fmt) in a single level. > > > > I used ':' character instead of '+' as suggested since the '+' was > > also used to extend existing sort keys (like -s '+cpu'). > > Could we use ';' instead? That is associated with lists as well, i.e.: > > perf report --hierarchy -s prev_pid;prev_comm,next_pid;next_comm > > What do you think? Others?
The ';' is interpreted by shell first, so it needs to be quoted.
$ perf report -s comm,dso;sym bash: sym: command not found
Thanks, Namhyung
> > But anyway, thanks for working on this, I'll try and test it, > > - Arnaldo > > > Example below shows how 4 sort keys are used for 2 levels. As you can > > see, the first level shows pid and comm of previous (switched) task > > and the second level shows pid and comm of next task. > > > > $ perf report --hierarchy -s prev_pid:prev_comm,next_pid:next_comm \ > > --percent-limit 1 -i perf.data.sched > > ... > > # Overhead prev_pid+prev_comm / next_pid+next_comm > > # ........... ....................................... > > # > > 22.36% 0 swapper/0 > > 9.48% 17773 transmission-gt > > 5.25% 109 kworker/0:1H > > 1.53% 6524 Xephyr > > 21.39% 17773 transmission-gt > > 9.52% 0 swapper/0 > > 9.04% 0 swapper/2 > > 1.78% 0 swapper/3 > > > > > > It's available on the 'perf/hierarchy-multi-v1' branch in my tree > > > > git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git > > > > > > Any feedbacks are welcome > > > > Thanks, > > Namhyung > > > > > > [1] https://lkml.org/lkml/2016/2/24/1041 > > > > > > Namhyung Kim (8): > > perf tools: Add level field to struct perf_hpp_fmt > > perf tools: Introduce perf_hpp__setup_hists_formats() > > perf tools: Use own hpp_list for hierarchy mode > > perf tools: Support multiple sort keys in a hierarchy > > perf tools: Fix indent for multiple hierarchy sort key > > perf report: Use hierarchy hpp list on stdio > > perf hists browser: Use hierarchy hpp list > > perf report: Use hierarchy hpp list on gtk > > > > tools/perf/ui/browsers/hists.c | 147 +++++++++++++++++++---------------- > > tools/perf/ui/gtk/hists.c | 73 +++++++++++------- > > tools/perf/ui/hist.c | 67 ++++++++++++++++ > > tools/perf/ui/stdio/hist.c | 171 +++++++++++++++++++++-------------------- > > tools/perf/util/hist.c | 81 +++++++++++++------ > > tools/perf/util/hist.h | 12 +++ > > tools/perf/util/sort.c | 123 ++++++++++++++++++++--------- > > tools/perf/util/sort.h | 1 + > > 8 files changed, 438 insertions(+), 237 deletions(-) > > > > -- > > 2.7.1
| |