@@ -8,7 +8,11 @@ perf-trace - Read perf.data (created by perf record) and display trace output
88SYNOPSIS
99--------
1010[verse]
11- 'perf trace' {record <script> | report <script> [args] }
11+ 'perf trace' [<options>]
12+ 'perf trace' [<options>] record <script> [<record-options>] <command>
13+ 'perf trace' [<options>] report <script> [script-args]
14+ 'perf trace' [<options>] <script> <required-script-args> [<record-options>] <command>
15+ 'perf trace' [<options>] <top-script> [script-args]
1216
1317DESCRIPTION
1418-----------
@@ -24,23 +28,53 @@ There are several variants of perf trace:
2428 available via 'perf trace -l'). The following variants allow you to
2529 record and run those scripts:
2630
27- 'perf trace record <script>' to record the events required for 'perf
28- trace report'. <script> is the name displayed in the output of
29- 'perf trace --list' i.e. the actual script name minus any language
30- extension.
31+ 'perf trace record <script> <command>' to record the events required
32+ for 'perf trace report'. <script> is the name displayed in the
33+ output of 'perf trace --list' i.e. the actual script name minus any
34+ language extension. If <command> is not specified, the events are
35+ recorded using the -a (system-wide) 'perf record' option.
3136
32- 'perf trace report <script>' to run and display the results of
33- <script>. <script> is the name displayed in the output of 'perf
37+ 'perf trace report <script> [args] ' to run and display the results
38+ of <script>. <script> is the name displayed in the output of 'perf
3439 trace --list' i.e. the actual script name minus any language
3540 extension. The perf.data output from a previous run of 'perf trace
3641 record <script>' is used and should be present for this command to
37- succeed.
42+ succeed. [args] refers to the (mainly optional) args expected by
43+ the script.
44+
45+ 'perf trace <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 trace --list' i.e. the
49+ actual script name minus any language extension. If <command> is
50+ not specified, the events are recorded using the -a (system-wide)
51+ 'perf record' option. If <script> has any required args, they
52+ should be specified before <command>. This mode doesn't allow for
53+ optional script args to be specified; if optional script args are
54+ desired, they can be specified using separate 'perf trace record'
55+ and 'perf trace report' commands, with the stdout of the record step
56+ piped to the stdin of the report script, using the '-o -' and '-i -'
57+ options of the corresponding commands.
58+
59+ 'perf trace <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 trace --list' i.e. the actual
63+ script name minus any language extension; a <top-script> is defined
64+ as any script name ending with the string 'top'.
65+
66+ [<record-options>] can be passed to the record steps of 'perf trace
67+ record' and 'live-mode' variants; this isn't possible however for
68+ <top-script> 'live-mode' or 'perf trace report' variants.
3869
3970 See the 'SEE ALSO' section for links to language-specific
4071 information on how to write and run your own trace scripts.
4172
4273OPTIONS
4374-------
75+ <command>...::
76+ Any command you can specify in a shell.
77+
4478-D::
4579--dump-raw-trace=::
4680 Display verbose dump of the trace data.
@@ -64,6 +98,13 @@ OPTIONS
6498 Generate perf-trace.[ext] starter script for given language,
6599 using current perf.data.
66100
101+ -a::
102+ Force system-wide collection. Scripts run without a <command>
103+ normally use -a by default, while scripts run with a <command>
104+ normally don't - this option allows the latter to be run in
105+ system-wide mode.
106+
107+
67108SEE ALSO
68109--------
69110linkperf:perf-record[1], linkperf:perf-trace-perl[1],
0 commit comments