Lines Matching +full:default +full:- +full:sample +full:- +full:phase
1 perf-report(1)
5 ----
6 perf-report - Read perf.data (created by perf record) and display the profile
9 --------
11 'perf report' [-i <file> | --input=file]
14 -----------
19 -------
20 -i::
21 --input=::
22 Input file name. (default: perf.data unless stdin is a fifo)
24 -v::
25 --verbose::
28 -q::
29 --quiet::
30 Do not show any message. (Suppress -v)
32 -n::
33 --show-nr-samples::
36 --show-cpu-utilization::
37 Show sample percentage for different cpu modes.
39 -T::
40 --threads::
41 Show per-thread event counters. The input data file should be recorded
42 with -s option.
43 -c::
44 --comms=::
47 the overhead column. See --percentage for more info.
48 --pid=::
51 --tid=::
53 -d::
54 --dsos=::
57 the overhead column. See --percentage for more info.
58 -S::
59 --symbols=::
62 the overhead column. See --percentage for more info.
64 --symbol-filter=::
67 -U::
68 --hide-unresolved::
71 -s::
72 --sort=::
73 Sort histogram entries by given key(s) - multiple keys can be specified
80 - comm: command (name) of the task which can be read via /proc/<pid>/comm
81 - pid: command and tid of the task
82 - dso: name of library or module executed at the time of sample
83 - dso_size: size of library or module executed at the time of sample
84 - symbol: name of function executed at the time of sample
85 - symbol_size: size of function executed at the time of sample
86 - parent: name of function matched to the parent regex filter. Unmatched
88 - cpu: cpu number the task ran at the time of sample
89 - socket: processor socket number the task ran at the time of sample
90 - srcline: filename and line number executed at the time of sample. The
92 - srcfile: file name of the source file of the samples. Requires dwarf
94 - weight: Event specific weight, e.g. memory latency or transaction
96 - local_weight: Local weight version of the weight above.
97 - cgroup_id: ID derived from cgroup namespace device and inode numbers.
98 - cgroup: cgroup pathname in the cgroupfs.
99 - transaction: Transaction abort flags.
100 - overhead: Overhead percentage of sample
101 - overhead_sys: Overhead percentage of sample running in system mode
102 - overhead_us: Overhead percentage of sample running in user mode
103 - overhead_guest_sys: Overhead percentage of sample running in system mode
105 - overhead_guest_us: Overhead percentage of sample running in user mode on
107 - sample: Number of sample
108 - period: Raw number of event count of sample
109 - time: Separate the samples by time stamp with the resolution specified by
110 --time-quantum (default 100ms). Specify with overhead and before it.
111 - code_page_size: the code page size of sampled code address (ip)
112 - ins_lat: Instruction latency in core cycles. This is the global instruction
114 - local_ins_lat: Local instruction latency version
115 - p_stage_cyc: On powerpc, this presents the number of cycles spent in a
118 By default, comm, dso and symbol keys are used.
119 (i.e. --sort comm,dso,symbol)
121 If --branch-stack option is used, following sort keys are also
124 - dso_from: name of library or module branched from
125 - dso_to: name of library or module branched to
126 - symbol_from: name of function branched from
127 - symbol_to: name of function branched to
128 - srcline_from: source file and line branched from
129 - srcline_to: source file and line branched to
130 - mispredict: "N" for predicted branch, "Y" for mispredicted branch
131 - in_tx: branch in TSX transaction
132 - abort: TSX transaction abort.
133 - cycles: Cycles in basic block
135 And default sort keys are changed to comm, dso_from, symbol_from, dso_to
136 and symbol_to, see '--branch-stack'.
146 If the --mem-mode option is used, the following sort keys are also available
147 (incompatible with --branch-stack):
150 - symbol_daddr: name of data symbol being executed on at the time of sample
151 - dso_daddr: name of library or module containing the data being executed
152 on at the time of the sample
153 - locked: whether the bus was locked at the time of the sample
154 - tlb: type of tlb access for the data at the time of the sample
155 - mem: type of memory access for the data at the time of the sample
156 - snoop: type of snoop (if any) for the data at the time of the sample
157 - dcacheline: the cacheline the data address is on at the time of the sample
158 - phys_daddr: physical address of data being executed on at the time of sample
159 - data_page_size: the data page size of data being executed on at the time of sample
160 - blocked: reason of blocked load access for the data at the time of the sample
162 And the default sort keys are changed to local_weight, mem, sym, dso,
164 see '--mem-mode'.
170 - trace: pretty printed trace output in a single column
171 - trace_fields: fields in tracepoints in separate columns
172 - <field name>: optional event and field name for a specific field
184 and shows raw field value like hex numbers. The --raw-trace option
187 The default sort keys are changed to 'trace' if all events in the data
190 -F::
191 --fields=::
192 Specify output field - multiple keys can be specified in CSV format.
194 overhead, overhead_sys, overhead_us, overhead_children, sample and period.
197 By default, every sort keys not specified in -F will be appended
201 field(s) to the default field order. For example: perf report -F +period,sample.
203 -p::
204 --parent=<regex>::
208 defaults to "\^sys_|^do_page_fault", see '--sort parent'.
210 -x::
211 --exclude-other::
212 Only display entries with parent-match.
214 -w::
215 --column-widths=<width[,width...]>::
217 readability. 0 means no limit (default behavior).
219 -t::
220 --field-separator=::
225 -D::
226 --dump-raw-trace::
229 --disable-order::
232 -g::
233 --call-graph=<print_type,threshold[,print_limit],order,sort_key[,branch],value>::
240 - flat: single column, linear exposure of call chains.
241 - graph: use a graph tree, displaying absolute overhead rates. (default)
242 - fractal: like graph, but displays relative rates. Each branch of
244 - folded: call chains are displayed in a line, separated by semicolons
245 - none: disable call chain display.
248 included in the output call graph. Default is 0.5 (%).
253 Default is 0 (unlimited).
256 - callee: callee based call graph.
257 - caller: inverted caller based call graph.
258 Default is 'caller' when --children is used, otherwise 'callee'.
261 - function: compare on functions (default)
262 - address: compare on individual code addresses
263 - srcline: compare on source filename and line number
266 - branch: include last branch information in callgraph when available.
267 Usually more convenient to use --branch-history for this.
270 - percent: display overhead percent (default)
271 - period: display event period
272 - count: display event count
274 --children::
279 default, disable with --no-children.
281 --max-stack::
283 beyond the specified depth will be ignored. This is a trade-off
286 Note that when using the --itrace option the synthesized callchain size
289 Default: 127
291 -G::
292 --inverted::
295 --ignore-callees=<regex>::
298 function into one place in the call-graph tree.
300 --pretty=<key>::
303 --stdio:: Use the stdio interface.
305 --stdio-color::
308 Use '--stdio-color always' to generate color even when redirecting
309 to a pipe or file. Using just '--stdio-color' is equivalent to
312 --tui:: Use the TUI interface, that is integrated with annotate and allows
313 zooming into DSOs or threads, among other features. Use of --tui
317 --gtk:: Use the GTK2 interface.
319 -k::
320 --vmlinux=<file>::
323 --ignore-vmlinux::
326 --kallsyms=<file>::
329 -m::
330 --modules::
331 Load module symbols. WARNING: This should only be used with -k and
334 -f::
335 --force::
338 --symfs=<directory>::
341 -C::
342 --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
343 be provided as a comma-separated list with no space: 0,1. Ranges of
344 CPUs are specified with -: 0-2. Default is to report samples on all
347 -M::
348 --disassembler-style=:: Set disassembler style for objdump.
350 --source::
351 Interleave source code with assembly code. Enabled by default,
352 disable with --no-source.
354 --asm-raw::
357 --show-total-period:: Show a column with the sum of periods.
359 -I::
360 --show-info::
365 -b::
366 --branch-stack::
369 perf.data file must have been obtained using perf record -b or
370 perf record --branch-filter xxx where xxx is a branch filter option.
371 perf report is able to auto-detect whether a perf.data file contains
373 unless --no-branch-stack is used.
375 --branch-history::
377 This allows to examine the path the program took to each sample.
378 The data collection must have used -b (or -j) and -g.
380 --objdump=<path>::
383 --prefix=PREFIX::
384 --prefix-strip=N::
389 --group::
393 --group-sort-idx::
398 --demangle::
399 Demangle symbol names to human readable form. It's enabled by default,
400 disable with --no-demangle.
402 --demangle-kernel::
405 --mem-mode::
408 file must have been obtained using perf record -d -W and using a
409 special event -e cpu/mem-loads/p or -e cpu/mem-stores/p. See
412 --percent-limit::
414 (Default: 0). Note that this option also sets the percent limit (threshold)
415 of callchains. However the default value of callchain threshold is
416 different than the default value of hist entries. Please see the
417 --call-graph option for details.
419 --percentage::
421 Filters can be applied by --comms, --dsos and/or --symbols options and
428 --header::
432 --stdio output supports this feature.
434 --header-only::
435 Show only perf.data header (forces --stdio).
437 --time::
443 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
446 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
451 perf report --time 10%/2
455 perf report --time 0%-10%
459 perf report --time 10%/1,10%/2
463 perf report --time 0%-10%,30%-40%
465 --switch-on EVENT_NAME::
469 phase is over, i.e. insert a perf probe at that point and then using this
472 --switch-off EVENT_NAME::
475 --show-on-off-events::
476 Show the --switch-on/off events too. This has no effect in 'perf report' now
477 but probably we'll make the default not to show the switch-on/off events
478 on the --group mode and if there is only one event besides the off/on ones,
482 --itrace::
487 To disable decoding entirely, use --no-itrace.
489 --full-source-path::
492 --show-ref-call-graph::
494 callgraphs for all of them. The sample sites are usually nearby,
496 So user can use "call-graph=no" event modifier to disable callgraph
503 --stitch-lbr::
506 perf record --call-graph lbr.
507 Disabled by default. In common cases with call stack overflows,
508 it can recreate better call stacks than the default lbr call stack
514 --socket-filter::
517 --samples=N::
521 --raw-trace::
524 --hierarchy::
527 --inline::
530 default, disable with --no-inline.
532 --mmaps::
533 Show --tasks output plus mmap information in a format similar to
537 are include 'perf record --data', for instance.
539 --ns::
542 --stats::
544 (like the one at the end of the perf report -D command)
546 --tasks::
550 --percent-type::
552 global-period, local-period, global-hits, local-hits
557 on - the samples period or the number of samples (hits).
559 --time-quantum::
560 Configure time quantum for time sort key. Default 100ms.
563 --total-cycles::
564 When --total-cycles is specified, it supports sorting for all blocks by
568 'Sampled Cycles%' - block sampled cycles aggregation / total sampled cycles
569 'Sampled Cycles' - block sampled cycles aggregation
570 'Avg Cycles%' - block average sampled cycles / sum of total block average
572 'Avg Cycles' - block average sampled cycles
574 --skip-empty::
575 Do not print 0 results in the --stat output.
577 include::callchain-overhead-calculation.txt[]
580 --------
581 linkperf:perf-stat[1], linkperf:perf-annotate[1], linkperf:perf-record[1],
582 linkperf:perf-intel-pt[1]