Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1306339

[PATCH v14 08/23] perf config: Document variables for 'call-graph' section in man page

From Taeung Song <treeze.taeung@gmail.com>
Newsgroups linux.kernel
Subject [PATCH v14 08/23] perf config: Document variables for 'call-graph' section in man page
Date 2016-01-11 15:50 +0100
Message-ID <qPLXc-3He-13@gated-at.bofh.it> (permalink)
References <qPLNv-3Dk-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Explain 'call-graph' section and its variables.

'record-mode', 'dump-size', 'print-type', 'order',
'sort-key', 'threshold' and 'print-limit'.

Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
 tools/perf/Documentation/perf-config.txt | 67 ++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index fe50bd1..2f965e0 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -305,6 +305,73 @@ ui.*::
 		in 'report' and 'top'. If this option is false, they are hidden.
 		This option is only applied to TUI.
 
+call-graph.*::
+	When sub-commands 'top' and 'report' work with -g/—-children
+	there're options in control of call-graph.
+
+	call-graph.record-mode::
+		The record-mode can be 'fp' (frame pointer), 'dwarf' and 'lbr'.
+		The value of 'dwarf' is effective only if perf detect needed library
+		(libunwind or a recent version of libdw).
+		'lbr' only work for cpus that support it.
+
+	call-graph.dump-size::
+		The size of stack to dump in order to do post-unwinding. Default is 8192 (byte).
+		When using dwarf into record-mode, the default size will be used if omitted.
+
+	call-graph.print-type::
+		The print-types can be graph (graph absolute), fractal (graph relative),
+		flat and folded. This option controls a way to show overhead for each callchain
+		entry. Suppose a following example.
+
+                Overhead  Symbols
+                ........  .......
+                  40.00%  foo
+                          |
+                          ---foo
+                             |
+                             |--50.00%--bar
+                             |          main
+                             |
+                              --50.00%--baz
+                                        main
+
+		This output is a 'fractal' format. The 'foo' came from 'bar' and 'baz' exactly
+		half and half so 'fractal' shows 50.00% for each
+		(meaning that it assumes 100% total overhead of 'foo').
+
+		The 'graph' uses absolute overhead value of 'foo' as total so each of
+		'bar' and 'baz' callchain will have 20.00% of overhead.
+		If 'flat' is used, single column and linear exposure of call chains.
+		'folded' mean call chains are displayed in a line, separated by semicolons.
+
+	call-graph.order::
+		This option controls print order of callchains. The default is
+		'callee' which means callee is printed at top and then followed by its
+		caller and so on. The 'caller' prints it in reverse order.
+
+		If this option is not set and report.children or top.children is
+		set to true (or the equivalent command line option is given),
+		the default value of this option is changed to 'caller' for the
+		execution of 'perf report' or 'perf top'. Other commands will
+		still default to 'callee'.
+
+	call-graph.sort-key::
+		The callchains are merged if they contain same information.
+		The sort-key option determines a way to compare the callchains.
+		A value of 'sort-key' can be 'function' or 'address'.
+		The default is 'function'.
+
+	call-graph.threshold::
+		When there're many callchains it'd print tons of lines. So perf omits
+		small callchains under a certain overhead (threshold) and this option
+		control the threshold. Default is 0.5 (%). The overhead is calculated
+		by value depends on call-graph.print-type.
+
+	call-graph.print-limit::
+		This is a maximum number of lines of callchain printed for a single
+		histogram entry. Default is 0 which means no limitation.
+
 SEE ALSO
 --------
 linkperf:perf[1]
-- 
2.5.0

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v14 00/23] perf config: Add functionalities into perf-config and document config info Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:40 +0100
  [PATCH v14 21/23] perf config: Add 'set' feature Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:40 +0100
  [PATCH v14 01/23] perf config: Document variables for 'colors' section in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:40 +0100
  [PATCH v14 04/23] perf config: Document variables for 'annotate' section in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:40 +0100
  [PATCH v14 23/23] perf config: Add a option 'remove' to perf-config Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:40 +0100
  [PATCH v14 06/23] perf config: Document 'hist.percentage' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100
  [PATCH v14 14/23] perf config: Document 'record.build-id' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100
  [PATCH v14 10/23] perf config: Document 'top.children' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100
  [PATCH v14 17/23] perf config: Add 'list-all' option to perf-config Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100
  [PATCH v14 11/23] perf config: Document 'man.viewer' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100
  [PATCH v14 08/23] perf config: Document variables for 'call-graph' section in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100
  [PATCH v14 07/23] perf config: Document 'ui.show-headers' variable in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100
  [PATCH v14 12/23] perf config: Document 'pager.<subcommand>' variables in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100
  [PATCH v14 09/23] perf config: Document variables for 'report' section in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100
  [PATCH v14 02/23] perf config: Document variables for 'tui' and 'gtk' sections in man page Taeung Song <treeze.taeung@gmail.com> - 2016-01-11 15:50 +0100

csiph-web