linux/tools/perf
Frederic Weisbecker 4eb3e4788b perf report: Add support for callchain graph output
Currently, the printing of callchains is done in a single
vertical level, this is the "flat" mode:

8.25%  [k] copy_user_generic_string
             4.19%
                copy_user_generic_string
                generic_file_aio_read
                do_sync_read
                vfs_read
                sys_pread64
                system_call_fastpath
                pread64

This patch introduces a new "graph" mode which provides a
hierarchical output of factorized paths recursively sorted:

 8.25%  [k] copy_user_generic_string
                |
                |--4.31%-- generic_file_aio_read
                |          do_sync_read
                |          vfs_read
                |          |
                |          |--4.19%-- sys_pread64
                |          |          system_call_fastpath
                |          |          pread64
                |          |
                |           --0.12%-- sys_read
                |                     system_call_fastpath
                |                     __read
                |
                |--3.24%-- generic_file_buffered_write
                |          __generic_file_aio_write_nolock
                |          generic_file_aio_write
                |          do_sync_write
                |          reiserfs_file_write
                |          vfs_write
                |          |
                |          |--3.14%-- sys_pwrite64
                |          |          system_call_fastpath
                |          |          __pwrite64
                |          |
                |           --0.10%-- sys_write
[...]

The command line has then changed.

By providing the -c option, the callchain will output in the
flat mode by default.

But you can override it:

    perf report -c graph

or

    perf report -c flat

You can also pass the abreviated mode:

    perf report -c g

or

    perf report -c gra

will both make use of the graph mode.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Anton Blanchard <anton@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <1246550301-8954-3-git-send-email-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-07-02 20:47:15 +02:00
..
Documentation perf report: Add --symbols parameter 2009-07-01 00:07:10 +02:00
util perf report: Add support for callchain graph output 2009-07-02 20:47:15 +02:00
.gitignore perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
builtin-annotate.c perf_counter tools: Enable kernel module symbol loading in tools 2009-07-02 08:42:21 +02:00
builtin-help.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
builtin-list.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
builtin-record.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
builtin-report.c perf report: Add support for callchain graph output 2009-07-02 20:47:15 +02:00
builtin-stat.c perf stat: Handle pipe read failures in perf stat 2009-07-01 22:37:24 +02:00
builtin-top.c perf_counter tools: Enable kernel module symbol loading in tools 2009-07-02 08:42:21 +02:00
builtin.h perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
command-list.txt perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
design.txt perf_counter: Start documenting HAVE_PERF_COUNTERS requirements 2009-06-12 19:37:30 +02:00
Makefile perf_counter tools: Add infrastructure to support loading of kernel module symbols 2009-07-02 08:42:20 +02:00
perf.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
perf.h perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00