Lines Matching +full:run +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
29 record and run those scripts:
33 output of 'perf script --list' i.e. the actual script name minus any
35 recorded using the -a (system-wide) 'perf record' option.
37 'perf script report <script> [args]' to run and display the results
39 script --list' i.e. the actual script name minus any language
40 extension. The perf.data output from a previous run of 'perf script
45 'perf script <script> <required-script-args> <command>' to both
46 record the events required for <script> and to run the <script>
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
71 information on how to write and run your own trace scripts.
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>::
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, addr, symoff,
134 srcline, period, iregs, uregs, brstack, brstacksym, flags, bpf-output,
140 e.g., -F sw:comm,tid,time,ip,sym and -F trace:time,cpu,trace
142 perf script -F <fields>
146 perf script -F trace:<fields> -F sw:<fields> -F hw:<fields>
154 -F -cpu,+insn
162 -F trace: -F comm,tid,time,ip,sym
164 The first -F suppresses trace events (field list is ""), but then the
165 second invocation sets the fields to comm,tid,time,ip,sym. In this case a
172 -F comm,tid,time,ip,sym -F trace:
174 The first -F sets the fields for all events and the second -F
181 -Fsw:-cpu,-period
189 $ perf script -F comm,tid,trace
196 perf script -v -F sw:comm,tid,trace
199 At this point usage is displayed, and perf-script exits.
204 transaction abort, trace begin, trace end, in transaction, VM-Entry,
205 VM-Exit, interrupt disabled and interrupt disable toggle respectively.
232 a perf.data file recorded on the host at the same time.
235 i.e., -F "" is not allowed.
241 …M/P/-: M=branch target mispredicted or branch direction was mispredicted, P=target predicted or di…
242 X/- : X=branch inside a transactional region, -=not in transaction region or not supported
243 A/- : A=TSX abort entry, -=not aborted region or not supported
250 sample was recorded with perf record -b or -j any.
266 For sample events it's possible to display misc field with -F +misc option,
279 $ perf script -F +misc ...
280 sched-messaging 1414 K 28690.636582: 4590 cycles ...
281 sched-messaging 1407 U 28690.636600: 325620 cycles ...
282 sched-messaging 1414 K 28690.636608: 19473 cycles ...
285 -k::
286 --vmlinux=<file>::
289 --kallsyms=<file>::
292 --symfs=<directory>::
295 -G::
296 --hide-call-graph::
299 --stop-bt::
302 -C::
303 --cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
304 be provided as a comma-separated list with no space: 0,1. Ranges of
305 CPUs are specified with -: 0-2. Default is to report samples on all
308 -c::
309 --comms=::
313 --pid=::
316 --tid=::
319 -I::
320 --show-info::
326 --show-kernel-path::
329 --show-task-events
332 --show-mmap-events
335 --show-namespace-events
338 --show-switch-events
342 --show-lost-events
345 --show-round-events
348 --show-bpf-events
351 --show-cgroup-events
354 --show-text-poke-events
358 --demangle::
360 disable with --no-demangle.
362 --demangle-kernel::
365 --header
368 --header-only
371 --itrace::
376 To disable decoding entirely, use --no-itrace.
378 --full-source-path::
381 --max-stack::
383 beyond the specified depth will be ignored. This is a trade-off
386 Note that when using the --itrace option the synthesized callchain size
391 --ns::
392 Use 9 decimal places when displaying time (i.e. show the nanoseconds)
394 -f::
395 --force::
398 --time::
399 Only analyze samples within given time window: <start>,<stop>. Times
400 have the format seconds.nanoseconds. If start is not given (i.e. time
402 stop time is not given (i.e. time string is 'x.y,') then analysis goes
404 requires the argument to be quoted e.g. --time "1234.567,1234.789 1235,"
406 Also support time percent with multiple time ranges. Time string is
407 'a%/n,b%/m,...' or 'a%-b%,c%-%d,...'.
410 Select the second 10% time slice:
411 perf script --time 10%/2
413 Select from 0% to 10% time slice:
414 perf script --time 0%-10%
416 Select the first and second 10% time slices:
417 perf script --time 10%/1,10%/2
420 perf script --time 0%-10%,30%-40%
422 --max-blocks::
426 --reltime::
427 Print time stamps relative to trace start.
429 --deltatime::
430 Print time stamps relative to previous event.
432 --per-event-dump::
436 --inline::
439 default, disable with --no-inline.
441 --insn-trace::
442 Show instruction stream for intel_pt traces. Combine with --xed to
445 --xed::
446 Run xed disassembler on output. Requires installing the xed disassembler.
448 -S::
449 --symbols=symbol[,symbol...]::
457 perf script --symbols=noploop,0x4007a0
467 4. address range comparison (see --addr-range).
469 --addr-range::
470 Use with -S or --symbols to list traced records within address range.
474 perf script -S 0x4007a0 --addr-range 10
476 --dsos=::
479 --call-trace::
481 can be filtered with -C.
483 --call-ret-trace::
486 --graph-function::
490 --switch-on EVENT_NAME::
493 --switch-off EVENT_NAME::
496 --show-on-off-events::
497 Show the --switch-on/off events too.
499 --stitch-lbr::
502 perf record --call-graph lbr.
512 include::guest-files.txt[]
515 --------
516 linkperf:perf-record[1], linkperf:perf-script-perl[1],
517 linkperf:perf-script-python[1], linkperf:perf-intel-pt[1],
518 linkperf:perf-dlfilter[1]