Lines Matching +full:min +full:- +full:sample +full:- +full:time +full:- +full:ns

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::
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
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…
121 - type: Data type of sample memory access.
122 - typeoff: Offset in the data type of sample memory access.
123 - symoff: Offset in the symbol.
126 (i.e. --sort comm,dso,symbol)
128 If --branch-stack option is used, following sort keys are also
131 - dso_from: name of library or module branched from
132 - dso_to: name of library or module branched to
133 - symbol_from: name of function branched from
134 - symbol_to: name of function branched to
135 - srcline_from: source file and line branched from
136 - srcline_to: source file and line branched to
137 - mispredict: "N" for predicted branch, "Y" for mispredicted branch
138 - in_tx: branch in TSX transaction
139 - abort: TSX transaction abort.
140 - cycles: Cycles in basic block
143 and symbol_to, see '--branch-stack'.
153 If the --mem-mode option is used, the following sort keys are also available
154 (incompatible with --branch-stack):
157 - symbol_daddr: name of data symbol being executed on at the time of sample
158 - dso_daddr: name of library or module containing the data being executed
159 on at the time of the sample
160 - locked: whether the bus was locked at the time of the sample
161 - tlb: type of tlb access for the data at the time of the sample
162 - mem: type of memory access for the data at the time of the sample
163 - snoop: type of snoop (if any) for the data at the time of the sample
164 - dcacheline: the cacheline the data address is on at the time of the sample
165 - phys_daddr: physical address of data being executed on at the time of sample
166 - data_page_size: the data page size of data being executed on at the time of sample
167 - blocked: reason of blocked load access for the data at the time of the sample
171 see '--mem-mode'.
177 - trace: pretty printed trace output in a single column
178 - trace_fields: fields in tracepoints in separate columns
179 - <field name>: optional event and field name for a specific field
191 and shows raw field value like hex numbers. The --raw-trace option
197 -F::
198 --fields=::
199 Specify output field - multiple keys can be specified in CSV format.
201 overhead, overhead_sys, overhead_us, overhead_children, sample and period.
204 By default, every sort keys not specified in -F will be appended
208 field(s) to the default field order. For example: perf report -F +period,sample.
210 -p::
211 --parent=<regex>::
215 defaults to "\^sys_|^do_page_fault", see '--sort parent'.
217 -x::
218 --exclude-other::
219 Only display entries with parent-match.
221 -w::
222 --column-widths=<width[,width...]>::
226 -t::
227 --field-separator=::
232 -D::
233 --dump-raw-trace::
236 --disable-order::
239 -g::
240 --call-graph=<print_type,threshold[,print_limit],order,sort_key[,branch],value>::
241 Display call chains using type, min percent threshold, print limit,
247 - flat: single column, linear exposure of call chains.
248 - graph: use a graph tree, displaying absolute overhead rates. (default)
249 - fractal: like graph, but displays relative rates. Each branch of
251 - folded: call chains are displayed in a line, separated by semicolons
252 - none: disable call chain display.
263 - callee: callee based call graph.
264 - caller: inverted caller based call graph.
265 Default is 'caller' when --children is used, otherwise 'callee'.
268 - function: compare on functions (default)
269 - address: compare on individual code addresses
270 - srcline: compare on source filename and line number
273 - branch: include last branch information in callgraph when available.
274 Usually more convenient to use --branch-history for this.
277 - percent: display overhead percent (default)
278 - period: display event period
279 - count: display event count
281 --children::
286 default, disable with --no-children.
288 --max-stack::
290 beyond the specified depth will be ignored. This is a trade-off
293 Note that when using the --itrace option the synthesized callchain size
298 -G::
299 --inverted::
302 --ignore-callees=<regex>::
305 function into one place in the call-graph tree.
307 --pretty=<key>::
310 --stdio:: Use the stdio interface.
312 --stdio-color::
315 Use '--stdio-color always' to generate color even when redirecting
316 to a pipe or file. Using just '--stdio-color' is equivalent to
319 --tui:: Use the TUI interface, that is integrated with annotate and allows
320 zooming into DSOs or threads, among other features. Use of --tui
324 --gtk:: Use the GTK2 interface.
326 -k::
327 --vmlinux=<file>::
330 --ignore-vmlinux::
333 --kallsyms=<file>::
336 -m::
337 --modules::
338 Load module symbols. WARNING: This should only be used with -k and
341 -f::
342 --force::
345 --symfs=<directory>::
348 -C::
349 --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
350 be provided as a comma-separated list with no space: 0,1. Ranges of
351 CPUs are specified with -: 0-2. Default is to report samples on all
354 -M::
355 --disassembler-style=:: Set disassembler style for objdump.
357 --source::
359 disable with --no-source.
361 --asm-raw::
364 --show-total-period:: Show a column with the sum of periods.
366 -I::
367 --show-info::
372 -b::
373 --branch-stack::
376 perf.data file must have been obtained using perf record -b or
377 perf record --branch-filter xxx where xxx is a branch filter option.
378 perf report is able to auto-detect whether a perf.data file contains
380 unless --no-branch-stack is used.
382 --branch-history::
384 This allows to examine the path the program took to each sample.
385 The data collection must have used -b (or -j) and -g.
387 --addr2line=<path>::
390 --objdump=<path>::
393 --prefix=PREFIX::
394 --prefix-strip=N::
399 --group::
403 --group-sort-idx::
408 --demangle::
410 disable with --no-demangle.
412 --demangle-kernel::
415 --mem-mode::
418 file must have been obtained using perf record -d -W and using a
419 special event -e cpu/mem-loads/p or -e cpu/mem-stores/p. See
422 --percent-limit::
427 --call-graph option for details.
429 --percentage::
431 Filters can be applied by --comms, --dsos and/or --symbols options and
438 --header::
442 --stdio output supports this feature.
444 --header-only::
445 Show only perf.data header (forces --stdio).
447 --time::
448 Only analyze samples within given time window: <start>,<stop>. Times
449 have the format seconds.nanoseconds. If start is not given (i.e. time
451 stop time is not given (i.e. time string is 'x.y,') then analysis goes
453 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
455 Also support time percent with multiple time ranges. Time string is
456 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
459 Select the second 10% time slice:
461 perf report --time 10%/2
463 Select from 0% to 10% time slice:
465 perf report --time 0%-10%
467 Select the first and second 10% time slices:
469 perf report --time 10%/1,10%/2
473 perf report --time 0%-10%,30%-40%
475 --switch-on EVENT_NAME::
482 --switch-off EVENT_NAME::
485 --show-on-off-events::
486 Show the --switch-on/off events too. This has no effect in 'perf report' now
487 but probably we'll make the default not to show the switch-on/off events
488 on the --group mode and if there is only one event besides the off/on ones,
492 --itrace::
497 To disable decoding entirely, use --no-itrace.
499 --full-source-path::
502 --show-ref-call-graph::
504 callgraphs for all of them. The sample sites are usually nearby,
506 So user can use "call-graph=no" event modifier to disable callgraph
513 --stitch-lbr::
516 perf record --call-graph lbr.
524 --socket-filter::
527 --samples=N::
531 --raw-trace::
534 --hierarchy::
537 --inline::
540 default, disable with --no-inline.
542 --mmaps::
543 Show --tasks output plus mmap information in a format similar to
547 are include 'perf record --data', for instance.
549 --ns::
550 Show time stamps in nanoseconds.
552 --stats::
554 (like the one at the end of the perf report -D command)
556 --tasks::
560 --percent-type::
562 global-period, local-period, global-hits, local-hits
567 on - the samples period or the number of samples (hits).
569 --time-quantum::
570 Configure time quantum for time sort key. Default 100ms.
571 Accepts s, us, ms, ns units.
573 --total-cycles::
574 When --total-cycles is specified, it supports sorting for all blocks by
578 'Sampled Cycles%' - block sampled cycles aggregation / total sampled cycles
579 'Sampled Cycles' - block sampled cycles aggregation
580 'Avg Cycles%' - block average sampled cycles / sum of total block average
582 'Avg Cycles' - block average sampled cycles
584 --skip-empty::
585 Do not print 0 results in the --stat output.
587 include::callchain-overhead-calculation.txt[]
590 --------
591 linkperf:perf-stat[1], linkperf:perf-annotate[1], linkperf:perf-record[1],
592 linkperf:perf-intel-pt[1]