Lines Matching +full:keys +full:- +full:per +full:- +full:group
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=::
24 -v::
25 --verbose::
28 -q::
29 --quiet::
30 Do not show any warnings or messages. (Suppress -v)
32 -n::
33 --show-nr-samples::
36 --show-cpu-utilization::
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
74 in CSV format. Following sort keys are available:
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
117 - addr: (Full) virtual address of the sampled instruction
118 - retire_lat: On X86, this reports pipeline stall of this instruction compared
120 …- simd: Flags describing a SIMD operation. "e" for empty Arm SVE predicate. "p" for partial Arm SV…
122 By default, comm, dso and symbol keys are used.
123 (i.e. --sort comm,dso,symbol)
125 If --branch-stack option is used, following sort keys are also
128 - dso_from: name of library or module branched from
129 - dso_to: name of library or module branched to
130 - symbol_from: name of function branched from
131 - symbol_to: name of function branched to
132 - srcline_from: source file and line branched from
133 - srcline_to: source file and line branched to
134 - mispredict: "N" for predicted branch, "Y" for mispredicted branch
135 - in_tx: branch in TSX transaction
136 - abort: TSX transaction abort.
137 - cycles: Cycles in basic block
139 And default sort keys are changed to comm, dso_from, symbol_from, dso_to
140 and symbol_to, see '--branch-stack'.
143 are enabled automatically. Column "IPC" reports the average IPC per function
145 sampled IPC in this function. IPC means Instruction Per Cycle. If it's low,
150 If the --mem-mode option is used, the following sort keys are also available
151 (incompatible with --branch-stack):
154 - symbol_daddr: name of data symbol being executed on at the time of sample
155 - dso_daddr: name of library or module containing the data being executed
157 - locked: whether the bus was locked at the time of the sample
158 - tlb: type of tlb access for the data at the time of the sample
159 - mem: type of memory access for the data at the time of the sample
160 - snoop: type of snoop (if any) for the data at the time of the sample
161 - dcacheline: the cacheline the data address is on at the time of the sample
162 - phys_daddr: physical address of data being executed on at the time of sample
163 - data_page_size: the data page size of data being executed on at the time of sample
164 - blocked: reason of blocked load access for the data at the time of the sample
166 And the default sort keys are changed to local_weight, mem, sym, dso,
168 see '--mem-mode'.
170 If the data file has tracepoint event(s), following (dynamic) sort keys
174 - trace: pretty printed trace output in a single column
175 - trace_fields: fields in tracepoints in separate columns
176 - <field name>: optional event and field name for a specific field
188 and shows raw field value like hex numbers. The --raw-trace option
189 has the same effect for all dynamic sort keys.
191 The default sort keys are changed to 'trace' if all events in the data
194 -F::
195 --fields=::
196 Specify output field - multiple keys can be specified in CSV format.
201 By default, every sort keys not specified in -F will be appended
204 If the keys starts with a prefix '+', then it will append the specified
205 field(s) to the default field order. For example: perf report -F +period,sample.
207 -p::
208 --parent=<regex>::
212 defaults to "\^sys_|^do_page_fault", see '--sort parent'.
214 -x::
215 --exclude-other::
216 Only display entries with parent-match.
218 -w::
219 --column-widths=<width[,width...]>::
223 -t::
224 --field-separator=::
229 -D::
230 --dump-raw-trace::
233 --disable-order::
236 -g::
237 --call-graph=<print_type,threshold[,print_limit],order,sort_key[,branch],value>::
244 - flat: single column, linear exposure of call chains.
245 - graph: use a graph tree, displaying absolute overhead rates. (default)
246 - fractal: like graph, but displays relative rates. Each branch of
248 - folded: call chains are displayed in a line, separated by semicolons
249 - none: disable call chain display.
260 - callee: callee based call graph.
261 - caller: inverted caller based call graph.
262 Default is 'caller' when --children is used, otherwise 'callee'.
265 - function: compare on functions (default)
266 - address: compare on individual code addresses
267 - srcline: compare on source filename and line number
270 - branch: include last branch information in callgraph when available.
271 Usually more convenient to use --branch-history for this.
274 - percent: display overhead percent (default)
275 - period: display event period
276 - count: display event count
278 --children::
283 default, disable with --no-children.
285 --max-stack::
287 beyond the specified depth will be ignored. This is a trade-off
290 Note that when using the --itrace option the synthesized callchain size
295 -G::
296 --inverted::
299 --ignore-callees=<regex>::
302 function into one place in the call-graph tree.
304 --pretty=<key>::
307 --stdio:: Use the stdio interface.
309 --stdio-color::
312 Use '--stdio-color always' to generate color even when redirecting
313 to a pipe or file. Using just '--stdio-color' is equivalent to
316 --tui:: Use the TUI interface, that is integrated with annotate and allows
317 zooming into DSOs or threads, among other features. Use of --tui
321 --gtk:: Use the GTK2 interface.
323 -k::
324 --vmlinux=<file>::
327 --ignore-vmlinux::
330 --kallsyms=<file>::
333 -m::
334 --modules::
335 Load module symbols. WARNING: This should only be used with -k and
338 -f::
339 --force::
342 --symfs=<directory>::
345 -C::
346 --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
347 be provided as a comma-separated list with no space: 0,1. Ranges of
348 CPUs are specified with -: 0-2. Default is to report samples on all
351 -M::
352 --disassembler-style=:: Set disassembler style for objdump.
354 --source::
356 disable with --no-source.
358 --asm-raw::
361 --show-total-period:: Show a column with the sum of periods.
363 -I::
364 --show-info::
369 -b::
370 --branch-stack::
373 perf.data file must have been obtained using perf record -b or
374 perf record --branch-filter xxx where xxx is a branch filter option.
375 perf report is able to auto-detect whether a perf.data file contains
377 unless --no-branch-stack is used.
379 --branch-history::
382 The data collection must have used -b (or -j) and -g.
384 --addr2line=<path>::
387 --objdump=<path>::
390 --prefix=PREFIX::
391 --prefix-strip=N::
396 --group::
397 Show event group information together. It forces group output also
400 --group-sort-idx::
401 Sort the output by the event at the index n in group. If n is invalid,
405 --demangle::
407 disable with --no-demangle.
409 --demangle-kernel::
412 --mem-mode::
415 file must have been obtained using perf record -d -W and using a
416 special event -e cpu/mem-loads/p or -e cpu/mem-stores/p. See
419 --percent-limit::
424 --call-graph option for details.
426 --percentage::
428 Filters can be applied by --comms, --dsos and/or --symbols options and
435 --header::
439 --stdio output supports this feature.
441 --header-only::
442 Show only perf.data header (forces --stdio).
444 --time::
450 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
453 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
458 perf report --time 10%/2
462 perf report --time 0%-10%
466 perf report --time 10%/1,10%/2
470 perf report --time 0%-10%,30%-40%
472 --switch-on EVENT_NAME::
479 --switch-off EVENT_NAME::
482 --show-on-off-events::
483 Show the --switch-on/off events too. This has no effect in 'perf report' now
484 but probably we'll make the default not to show the switch-on/off events
485 on the --group mode and if there is only one event besides the off/on ones,
489 --itrace::
494 To disable decoding entirely, use --no-itrace.
496 --full-source-path::
499 --show-ref-call-graph::
503 So user can use "call-graph=no" event modifier to disable callgraph
510 --stitch-lbr::
513 perf record --call-graph lbr.
521 --socket-filter::
524 --samples=N::
528 --raw-trace::
531 --hierarchy::
534 --inline::
537 default, disable with --no-inline.
539 --mmaps::
540 Show --tasks output plus mmap information in a format similar to
544 are include 'perf record --data', for instance.
546 --ns::
549 --stats::
551 (like the one at the end of the perf report -D command)
553 --tasks::
557 --percent-type::
559 global-period, local-period, global-hits, local-hits
564 on - the samples period or the number of samples (hits).
566 --time-quantum::
570 --total-cycles::
571 When --total-cycles is specified, it supports sorting for all blocks by
575 'Sampled Cycles%' - block sampled cycles aggregation / total sampled cycles
576 'Sampled Cycles' - block sampled cycles aggregation
577 'Avg Cycles%' - block average sampled cycles / sum of total block average
579 'Avg Cycles' - block average sampled cycles
581 --skip-empty::
582 Do not print 0 results in the --stat output.
584 include::callchain-overhead-calculation.txt[]
587 --------
588 linkperf:perf-stat[1], linkperf:perf-annotate[1], linkperf:perf-record[1],
589 linkperf:perf-intel-pt[1]