Lines Matching +full:sample +full:- +full:time
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…
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
140 and symbol_to, see '--branch-stack'.
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
156 on at the time of the sample
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
168 see '--mem-mode'.
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
194 -F::
195 --fields=::
196 Specify output field - multiple keys can be specified in CSV format.
198 overhead, overhead_sys, overhead_us, overhead_children, sample and period.
201 By default, every sort keys not specified in -F will be appended
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::
381 This allows to examine the path the program took to each sample.
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::
400 --group-sort-idx::
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::
445 Only analyze samples within given time window: <start>,<stop>. Times
446 have the format seconds.nanoseconds. If start is not given (i.e. time
448 stop time is not given (i.e. time string is 'x.y,') then analysis goes
450 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
452 Also support time percent with multiple time ranges. Time string is
453 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
456 Select the second 10% time slice:
458 perf report --time 10%/2
460 Select from 0% to 10% time slice:
462 perf report --time 0%-10%
464 Select the first and second 10% time slices:
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::
501 callgraphs for all of them. The sample sites are usually nearby,
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::
547 Show time stamps in nanoseconds.
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::
567 Configure time quantum for time sort key. Default 100ms.
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]