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…
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>::
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.
394 --addr2line=<path>::
397 --objdump=<path>::
400 --prefix=PREFIX::
401 --prefix-strip=N::
406 --group::
410 --group-sort-idx::
415 --demangle::
417 disable with --no-demangle.
419 --demangle-kernel::
422 --mem-mode::
425 file must have been obtained using perf record -d -W and using a
426 special event -e cpu/mem-loads/p or -e cpu/mem-stores/p. See
429 --percent-limit::
434 --call-graph option for details.
436 --percentage::
438 Filters can be applied by --comms, --dsos and/or --symbols options and
445 --header::
449 --stdio output supports this feature.
451 --header-only::
452 Show only perf.data header (forces --stdio).
454 --time::
455 Only analyze samples within given time window: <start>,<stop>. Times
456 have the format seconds.nanoseconds. If start is not given (i.e. time
458 stop time is not given (i.e. time string is 'x.y,') then analysis goes
460 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
462 Also support time percent with multiple time ranges. Time string is
463 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
466 Select the second 10% time slice:
468 perf report --time 10%/2
470 Select from 0% to 10% time slice:
472 perf report --time 0%-10%
474 Select the first and second 10% time slices:
476 perf report --time 10%/1,10%/2
480 perf report --time 0%-10%,30%-40%
482 --switch-on EVENT_NAME::
489 --switch-off EVENT_NAME::
492 --show-on-off-events::
493 Show the --switch-on/off events too. This has no effect in 'perf report' now
494 but probably we'll make the default not to show the switch-on/off events
495 on the --group mode and if there is only one event besides the off/on ones,
499 --itrace::
504 To disable decoding entirely, use --no-itrace.
506 --full-source-path::
509 --show-ref-call-graph::
511 callgraphs for all of them. The sample sites are usually nearby,
513 So user can use "call-graph=no" event modifier to disable callgraph
520 --stitch-lbr::
523 perf record --call-graph lbr.
531 --socket-filter::
534 --samples=N::
538 --raw-trace::
541 -H::
542 --hierarchy::
544 samples based on the criteria and then sub-divide it using the lower
550 perf report -s dso,sym
560 perf report -s dso,sym --hierarchy
571 --inline::
574 default, disable with --no-inline.
576 --mmaps::
577 Show --tasks output plus mmap information in a format similar to
581 are include 'perf record --data', for instance.
583 --ns::
584 Show time stamps in nanoseconds.
586 --stats::
588 (like the one at the end of the perf report -D command)
590 --tasks::
594 --percent-type::
596 global-period, local-period, global-hits, local-hits
601 on - the samples period or the number of samples (hits).
603 --time-quantum::
604 Configure time quantum for time sort key. Default 100ms.
607 --total-cycles::
608 When --total-cycles is specified, it supports sorting for all blocks by
612 'Sampled Cycles%' - block sampled cycles aggregation / total sampled cycles
613 'Sampled Cycles' - block sampled cycles aggregation
614 'Avg Cycles%' - block average sampled cycles / sum of total block average
616 'Avg Cycles' - block average sampled cycles
617 'Branch Counter' - block branch counter histogram (with -v showing the number)
619 --skip-empty::
620 Do not print 0 results in the --stat output.
622 include::callchain-overhead-calculation.txt[]
625 --------
626 linkperf:perf-stat[1], linkperf:perf-annotate[1], linkperf:perf-record[1],
627 linkperf:perf-intel-pt[1]