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.
124 - weight1: Average value of event specific weight (1st field of weight_struct).
125 - weight2: Average value of event specific weight (2nd field of weight_struct).
126 - weight3: Average value of event specific weight (3rd field of weight_struct).
129 (i.e. --sort comm,dso,symbol)
131 If --branch-stack option is used, following sort keys are also
134 - dso_from: name of library or module branched from
135 - dso_to: name of library or module branched to
136 - symbol_from: name of function branched from
137 - symbol_to: name of function branched to
138 - srcline_from: source file and line branched from
139 - srcline_to: source file and line branched to
140 - mispredict: "N" for predicted branch, "Y" for mispredicted branch
141 - in_tx: branch in TSX transaction
142 - abort: TSX transaction abort.
143 - cycles: Cycles in basic block
146 and symbol_to, see '--branch-stack'.
156 If the --mem-mode option is used, the following sort keys are also available
157 (incompatible with --branch-stack):
160 - symbol_daddr: name of data symbol being executed on at the time of sample
161 - dso_daddr: name of library or module containing the data being executed
162 on at the time of the sample
163 - locked: whether the bus was locked at the time of the sample
164 - tlb: type of tlb access for the data at the time of the sample
165 - mem: type of memory access for the data at the time of the sample
166 - snoop: type of snoop (if any) for the data at the time of the sample
167 - dcacheline: the cacheline the data address is on at the time of the sample
168 - phys_daddr: physical address of data being executed on at the time of sample
169 - data_page_size: the data page size of data being executed on at the time of sample
170 - blocked: reason of blocked load access for the data at the time of the sample
174 see '--mem-mode'.
180 - trace: pretty printed trace output in a single column
181 - trace_fields: fields in tracepoints in separate columns
182 - <field name>: optional event and field name for a specific field
194 and shows raw field value like hex numbers. The --raw-trace option
200 -F::
201 --fields=::
202 Specify output field - multiple keys can be specified in CSV format.
204 overhead, overhead_sys, overhead_us, overhead_children, sample, period,
211 By default, every sort keys not specified in -F will be appended
215 field(s) to the default field order. For example: perf report -F +period,sample.
217 -p::
218 --parent=<regex>::
222 defaults to "\^sys_|^do_page_fault", see '--sort parent'.
224 -x::
225 --exclude-other::
226 Only display entries with parent-match.
228 -w::
229 --column-widths=<width[,width...]>::
233 -t::
234 --field-separator=::
239 -D::
240 --dump-raw-trace::
243 --disable-order::
246 -g::
247 --call-graph=<print_type,threshold[,print_limit],order,sort_key[,branch],value>::
248 Display call chains using type, min percent threshold, print limit,
254 - flat: single column, linear exposure of call chains.
255 - graph: use a graph tree, displaying absolute overhead rates. (default)
256 - fractal: like graph, but displays relative rates. Each branch of
258 - folded: call chains are displayed in a line, separated by semicolons
259 - none: disable call chain display.
270 - callee: callee based call graph.
271 - caller: inverted caller based call graph.
272 Default is 'caller' when --children is used, otherwise 'callee'.
275 - function: compare on functions (default)
276 - address: compare on individual code addresses
277 - srcline: compare on source filename and line number
280 - branch: include last branch information in callgraph when available.
281 Usually more convenient to use --branch-history for this.
284 - percent: display overhead percent (default)
285 - period: display event period
286 - count: display event count
288 --children::
293 default, disable with --no-children.
295 --max-stack::
297 beyond the specified depth will be ignored. This is a trade-off
300 Note that when using the --itrace option the synthesized callchain size
305 -G::
306 --inverted::
309 --ignore-callees=<regex>::
312 function into one place in the call-graph tree.
314 --pretty=<key>::
317 --stdio:: Use the stdio interface.
319 --stdio-color::
322 Use '--stdio-color always' to generate color even when redirecting
323 to a pipe or file. Using just '--stdio-color' is equivalent to
326 --tui:: Use the TUI interface, that is integrated with annotate and allows
327 zooming into DSOs or threads, among other features. Use of --tui
331 --gtk:: Use the GTK2 interface.
333 -k::
334 --vmlinux=<file>::
337 --ignore-vmlinux::
340 --kallsyms=<file>::
343 -m::
344 --modules::
345 Load module symbols. WARNING: This should only be used with -k and
348 -f::
349 --force::
352 --symfs=<directory>::
355 -C::
356 --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
357 be provided as a comma-separated list with no space: 0,1. Ranges of
358 CPUs are specified with -: 0-2. Default is to report samples on all
361 -M::
362 --disassembler-style=:: Set disassembler style for objdump.
364 --source::
366 disable with --no-source.
368 --asm-raw::
371 --show-total-period:: Show a column with the sum of periods.
373 -I::
374 --show-info::
379 -b::
380 --branch-stack::
383 perf.data file must have been obtained using perf record -b or
384 perf record --branch-filter xxx where xxx is a branch filter option.
385 perf report is able to auto-detect whether a perf.data file contains
387 unless --no-branch-stack is used.
389 --branch-history::
391 This allows to examine the path the program took to each sample.
392 The data collection must have used -b (or -j) and -g.
395 - Predicted: display the average percentage of predicated branches.
397 - Abort: display the number of tsx aborted branches.
398 - Cycles: cycles in basic block.
400 - iterations: display the average number of iterations in callchain list.
402 --addr2line=<path>::
405 --objdump=<path>::
408 --prefix=PREFIX::
409 --prefix-strip=N::
414 --group::
418 --group-sort-idx::
423 --demangle::
425 disable with --no-demangle.
427 --demangle-kernel::
430 --mem-mode::
433 file must have been obtained using perf record -d -W and using a
434 special event -e cpu/mem-loads/p or -e cpu/mem-stores/p. See
437 --percent-limit::
442 --call-graph option for details.
444 --percentage::
446 Filters can be applied by --comms, --dsos and/or --symbols options and
453 --header::
457 --stdio output supports this feature.
459 --header-only::
460 Show only perf.data header (forces --stdio).
462 --time::
463 Only analyze samples within given time window: <start>,<stop>. Times
464 have the format seconds.nanoseconds. If start is not given (i.e. time
466 stop time is not given (i.e. time string is 'x.y,') then analysis goes
468 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
470 Also support time percent with multiple time ranges. Time string is
471 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
474 Select the second 10% time slice:
476 perf report --time 10%/2
478 Select from 0% to 10% time slice:
480 perf report --time 0%-10%
482 Select the first and second 10% time slices:
484 perf report --time 10%/1,10%/2
488 perf report --time 0%-10%,30%-40%
490 --switch-on EVENT_NAME::
497 --switch-off EVENT_NAME::
500 --show-on-off-events::
501 Show the --switch-on/off events too. This has no effect in 'perf report' now
502 but probably we'll make the default not to show the switch-on/off events
503 on the --group mode and if there is only one event besides the off/on ones,
507 --itrace::
512 To disable decoding entirely, use --no-itrace.
514 --full-source-path::
517 --show-ref-call-graph::
519 callgraphs for all of them. The sample sites are usually nearby,
521 So user can use "call-graph=no" event modifier to disable callgraph
528 --stitch-lbr::
531 perf record --call-graph lbr.
539 --socket-filter::
542 --samples=N::
546 --raw-trace::
549 -H::
550 --hierarchy::
552 samples based on the criteria and then sub-divide it using the lower
558 perf report -s dso,sym
568 perf report -s dso,sym --hierarchy
579 --inline::
582 default, disable with --no-inline.
584 --mmaps::
585 Show --tasks output plus mmap information in a format similar to
589 are include 'perf record --data', for instance.
591 --ns::
592 Show time stamps in nanoseconds.
594 --stats::
596 (like the one at the end of the perf report -D command)
598 --tasks::
602 --percent-type::
604 global-period, local-period, global-hits, local-hits
609 on - the samples period or the number of samples (hits).
611 --time-quantum::
612 Configure time quantum for time sort key. Default 100ms.
613 Accepts s, us, ms, ns units.
615 --total-cycles::
616 When --total-cycles is specified, it supports sorting for all blocks by
620 'Sampled Cycles%' - block sampled cycles aggregation / total sampled cycles
621 'Sampled Cycles' - block sampled cycles aggregation
622 'Avg Cycles%' - block average sampled cycles / sum of total block average
624 'Avg Cycles' - block average sampled cycles
625 'Branch Counter' - block branch counter histogram (with -v showing the number)
627 --skip-empty::
628 Do not print 0 results in the --stat output.
630 include::callchain-overhead-calculation.txt[]
633 --------
634 linkperf:perf-stat[1], linkperf:perf-annotate[1], linkperf:perf-record[1],
635 linkperf:perf-intel-pt[1]