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

1 perf-script(1)
5 ----
6 perf-script - Read perf.data (created by perf record) and display trace output
9 --------
12 'perf script' [<options>] record <script> [<record-options>] <command>
13 'perf script' [<options>] report <script> [script-args]
14 'perf script' [<options>] <script> <required-script-args> [<record-options>] <command>
15 'perf script' [<options>] <top-script> [script-args]
18 -----------
26 You can also run a set of pre-canned scripts that aggregate and
28 available via 'perf script -l'). The following variants allow you to
33 output of 'perf script --list' i.e. the actual script name minus any
35 recorded using the -a (system-wide) 'perf record' option.
39 script --list' i.e. the actual script name minus any language
45 'perf script <script> <required-script-args> <command>' to both
47 using 'live-mode' i.e. without writing anything to disk. <script>
48 is the name displayed in the output of 'perf script --list' i.e. the
50 not specified, the events are recorded using the -a (system-wide)
56 piped to the stdin of the report script, using the '-o -' and '-i -'
59 'perf script <top-script>' to both record the events required for
60 <top-script> and to run the <top-script> using 'live-mode'
61 i.e. without writing anything to disk. <top-script> is the name
62 displayed in the output of 'perf script --list' i.e. the actual
63 script name minus any language extension; a <top-script> is defined
66 [<record-options>] can be passed to the record steps of 'perf script
67 record' and 'live-mode' variants; this isn't possible however for
68 <top-script> 'live-mode' or 'perf script report' variants.
70 See the 'SEE ALSO' section for links to language-specific
74 -------
78 -D::
79 --dump-raw-trace=::
82 --dump-unsorted-raw-trace=::
83 Same as --dump-raw-trace but not sorted in time order.
85 -L::
86 --Latency=::
89 -l::
90 --list=::
93 -s ['lang']::
94 --script=::
99 -g::
100 --gen-script=::
101 Generate perf-script.[ext] starter script for given language,
104 --dlfilter=<file>::
105 Filter sample events using the given shared object file.
106 Refer linkperf:perf-dlfilter[1]
108 --dlarg=<arg>::
109 Pass 'arg' as an argument to the dlfilter. --dlarg may be repeated
112 --list-dlfilters::
113 Display a list of available dlfilters. Use with option -v (must come
114 before option --list-dlfilters) to show long descriptions.
116 -a::
117 Force system-wide collection. Scripts run without a <command>
118 normally use -a by default, while scripts run with a <command>
119 normally don't - this option allows the latter to be run in
120 system-wide mode.
122 -i::
123 --input=::
126 -d::
127 --debug-mode::
130 -F::
131 --fields::
133 comm, tid, pid, time, cpu, event, trace, ip, sym, dso, dsoff, addr, symoff,
134 srcline, period, iregs, uregs, brstack, brstacksym, flags, bpf-output,
141 e.g., -F sw:comm,tid,time,ip,sym and -F trace:time,cpu,trace
143 perf script -F <fields>
147 perf script -F trace:<fields> -F sw:<fields> -F hw:<fields>
155 -F -cpu,+insn
163 -F trace: -F comm,tid,time,ip,sym
165 The first -F suppresses trace events (field list is ""), but then the
166 second invocation sets the fields to comm,tid,time,ip,sym. In this case a
173 -F comm,tid,time,ip,sym -F trace:
175 The first -F sets the fields for all events and the second -F
182 -Fsw:-cpu,-period
190 $ perf script -F comm,tid,trace
197 perf script -v -F sw:comm,tid,trace
200 At this point usage is displayed, and perf-script exits.
205 transaction abort, trace begin, trace end, in transaction, VM-Entry,
206 VM-Exit, interrupt disabled and interrupt disable toggle respectively.
233 a perf.data file recorded on the host at the same time.
235 The cgroup fields requires sample having the cgroup id which is saved
236 when "--all-cgroups" option is passed to 'perf record'.
239 i.e., -F "" is not allowed.
247 N=branch not-taken
248 -=no event or not supported
250 -=branch not in transaction region or not supported
252 -=not aborted region or not supported
255 -=not supported
257 -=not supported
261 When brstackinsn is specified the full assembler sequences of branch sequences for each sample
262 is printed. This is the full execution path leading to the sample. This is only supported when the
263 sample was recorded with perf record -b or -j any.
277 for perf record. perf will sample on the first event, and
280 period (since the last sample), not just for the sample point.
282 For sample events it's possible to display misc field with -F +misc option,
295 $ perf script -F +misc ...
296 sched-messaging 1414 K 28690.636582: 4590 cycles ...
297 sched-messaging 1407 U 28690.636600: 325620 cycles ...
298 sched-messaging 1414 K 28690.636608: 19473 cycles ...
301 -k::
302 --vmlinux=<file>::
305 --kallsyms=<file>::
308 --symfs=<directory>::
311 -G::
312 --hide-call-graph::
315 --stop-bt::
318 -C::
319 --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
320 be provided as a comma-separated list with no space: 0,1. Ranges of
321 CPUs are specified with -: 0-2. Default is to report samples on all
324 -c::
325 --comms=::
329 --pid=::
332 --tid=::
335 -I::
336 --show-info::
342 --show-kernel-path::
345 --show-task-events
348 --show-mmap-events
351 --show-namespace-events
354 --show-switch-events
358 --show-lost-events
361 --show-round-events
364 --show-bpf-events
367 --show-cgroup-events
370 --show-text-poke-events
374 --demangle::
376 disable with --no-demangle.
378 --demangle-kernel::
381 --addr2line=<path>::
384 --header
387 --header-only
390 --itrace::
395 To disable decoding entirely, use --no-itrace.
397 --full-source-path::
400 --max-stack::
402 beyond the specified depth will be ignored. This is a trade-off
405 Note that when using the --itrace option the synthesized callchain size
410 --ns::
411 Use 9 decimal places when displaying time (i.e. show the nanoseconds)
413 -f::
414 --force::
417 --time::
418 Only analyze samples within given time window: <start>,<stop>. Times
419 have the format seconds.nanoseconds. If start is not given (i.e. time
421 stop time is not given (i.e. time string is 'x.y,') then analysis goes
423 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
425 Also support time percent with multiple time ranges. Time string is
426 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
429 Select the second 10% time slice:
430 perf script --time 10%/2
432 Select from 0% to 10% time slice:
433 perf script --time 0%-10%
435 Select the first and second 10% time slices:
436 perf script --time 10%/1,10%/2
439 perf script --time 0%-10%,30%-40%
441 --max-blocks::
443 each sample.
445 --reltime::
446 Print time stamps relative to trace start.
448 --deltatime::
449 Print time stamps relative to previous event.
451 --per-event-dump::
455 --inline::
458 default, disable with --no-inline.
460 --insn-trace[=<raw|disasm>]::
463 'raw' with --xed to show disassembly done by xed.
465 --xed::
468 -S::
469 --symbols=symbol[,symbol...]::
477 perf script --symbols=noploop,0x4007a0
487 4. address range comparison (see --addr-range).
489 --addr-range::
490 Use with -S or --symbols to list traced records within address range.
494 perf script -S 0x4007a0 --addr-range 10
496 --dsos=::
499 --call-trace::
501 can be filtered with -C.
503 --call-ret-trace::
506 --graph-function::
510 --switch-on EVENT_NAME::
513 --switch-off EVENT_NAME::
516 --show-on-off-events::
517 Show the --switch-on/off events too.
519 --stitch-lbr::
522 perf record --call-graph lbr.
532 include::guest-files.txt[]
535 --------
536 linkperf:perf-record[1], linkperf:perf-script-perl[1],
537 linkperf:perf-script-python[1], linkperf:perf-intel-pt[1],
538 linkperf:perf-dlfilter[1]