~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/perf/Documentation/perf-trace.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/perf/Documentation/perf-trace.txt (Version linux-6.12-rc7) and /tools/perf/Documentation/perf-trace.txt (Version linux-2.6.32.71)


  1 perf-trace(1)                                       1 perf-trace(1)
  2 =============                                  !!   2 ==============
  3                                                     3 
  4 NAME                                                4 NAME
  5 ----                                                5 ----
  6 perf-trace - strace inspired tool              !!   6 perf-trace - Read perf.data (created by perf record) and display trace output
  7                                                     7 
  8 SYNOPSIS                                            8 SYNOPSIS
  9 --------                                            9 --------
 10 [verse]                                            10 [verse]
 11 'perf trace'                                   !!  11 'perf trace' [-i <file> | --input=file] symbol_name
 12 'perf trace record'                            << 
 13                                                    12 
 14 DESCRIPTION                                        13 DESCRIPTION
 15 -----------                                        14 -----------
 16 This command will show the events associated w !!  15 This command reads the input file and displays the trace recorded.
 17 syscalls, but other system events like pagefau << 
 18 scheduling events, etc.                        << 
 19                                                << 
 20 This is a live mode tool in addition to workin << 
 21 the other perf tools. Files can be generated u << 
 22 but the session needs to include the raw_sysca << 
 23 Alternatively, 'perf trace record' can be used << 
 24 automatically include the raw_syscalls events  << 
 25                                                << 
 26 The following options apply to perf trace; opt << 
 27 found in the perf record man page.             << 
 28                                                    16 
 29 OPTIONS                                            17 OPTIONS
 30 -------                                            18 -------
 31                                                !!  19 -D::
 32 -a::                                           !!  20 --dump-raw-trace=::
 33 --all-cpus::                                   !!  21         Display verbose dump of the trace data.
 34         System-wide collection from all CPUs.  << 
 35                                                << 
 36 -e::                                           << 
 37 --expr::                                       << 
 38 --event::                                      << 
 39         List of syscalls and other perf events << 
 40         etc) to show. Globbing is supported, e << 
 41         See 'perf list' for a complete list of << 
 42         Prefixing with ! shows all syscalls bu << 
 43         need to escape it.                     << 
 44                                                << 
 45 --filter=<filter>::                            << 
 46         Event filter. This option should follo << 
 47         selects tracepoint event(s).           << 
 48                                                << 
 49                                                << 
 50 -D msecs::                                     << 
 51 --delay msecs::                                << 
 52 After starting the program, wait msecs before  << 
 53 filter out the startup phase of the program, w << 
 54                                                << 
 55 -o::                                           << 
 56 --output=::                                    << 
 57         Output file name.                      << 
 58                                                << 
 59 -p::                                           << 
 60 --pid=::                                       << 
 61         Record events on existing process ID ( << 
 62                                                << 
 63 -t::                                           << 
 64 --tid=::                                       << 
 65         Record events on existing thread ID (c << 
 66                                                << 
 67 -u::                                           << 
 68 --uid=::                                       << 
 69         Record events in threads owned by uid. << 
 70                                                << 
 71 -G::                                           << 
 72 --cgroup::                                     << 
 73         Record events in threads in a cgroup.  << 
 74                                                << 
 75         Look for cgroups to set at the /sys/fs << 
 76         remove the /sys/fs/cgroup/perf_event/  << 
 77                                                << 
 78                 perf trace -G A -e sched:*swit << 
 79                                                << 
 80         Will set all raw_syscalls:sys_{enter,e << 
 81         _and_ sched:sched_switch to the 'A' cg << 
 82                                                << 
 83                 perf trace -e sched:*switch -G << 
 84                                                << 
 85         will only set the sched:sched_switch e << 
 86         other events (raw_syscalls:sys_{enter, << 
 87         a cgroup (on the root cgroup, sys wide << 
 88                                                << 
 89         Multiple cgroups:                      << 
 90                                                << 
 91                 perf trace -G A -e sched:*swit << 
 92                                                << 
 93         the syscall ones go to the 'A' cgroup, << 
 94         to the 'B' cgroup.                     << 
 95                                                << 
 96 --filter-pids=::                               << 
 97         Filter out events for these pids and f << 
 98                                                << 
 99 -v::                                           << 
100 --verbose::                                    << 
101         Increase the verbosity level.          << 
102                                                << 
103 --no-inherit::                                 << 
104         Child tasks do not inherit counters.   << 
105                                                << 
106 -m::                                           << 
107 --mmap-pages=::                                << 
108         Number of mmap data pages (must be a p << 
109         specification in bytes with appended u << 
110         The size is rounded up to the nearest  << 
111                                                << 
112 -C::                                           << 
113 --cpu::                                        << 
114 Collect samples only on the list of CPUs provi << 
115 comma-separated list with no space: 0,1. Range << 
116 In per-thread mode with inheritance mode on (d << 
117 the thread executes on the designated CPUs. De << 
118                                                << 
119 --duration::                                   << 
120         Show only events that had a duration g << 
121                                                << 
122 --sched::                                      << 
123         Accrue thread runtime and provide a su << 
124                                                << 
125 --failure::                                    << 
126         Show only syscalls that failed, i.e. t << 
127                                                << 
128 -i::                                           << 
129 --input::                                      << 
130         Process events from a given perf data  << 
131                                                << 
132 -T::                                           << 
133 --time::                                       << 
134         Print full timestamp rather time relat << 
135                                                << 
136 --comm::                                       << 
137         Show process COMM right beside its ID, << 
138                                                << 
139 -s::                                           << 
140 --summary::                                    << 
141         Show only a summary of syscalls by thr << 
142     (in msec) and relative stddev.             << 
143                                                << 
144 -S::                                           << 
145 --with-summary::                               << 
146         Show all syscalls followed by a summar << 
147     average times (in msec) and relative stdde << 
148                                                << 
149 --errno-summary::                              << 
150         To be used with -s or -S, to show stat << 
151         syscalls, using only this option will  << 
152                                                << 
153 --tool_stats::                                 << 
154         Show tool stats such as number of time << 
155         hooking the open syscall return + vfs_ << 
156                                                << 
157 -f::                                           << 
158 --force::                                      << 
159         Don't complain, do it.                 << 
160                                                << 
161 -F=[all|min|maj]::                             << 
162 --pf=[all|min|maj]::                           << 
163         Trace pagefaults. Optionally, you can  << 
164         major or all pagefaults. Default value << 
165                                                << 
166 --syscalls::                                   << 
167         Trace system calls. This options is en << 
168         --no-syscalls.                         << 
169                                                << 
170 --call-graph [mode,type,min[,limit],order[,key << 
171         Setup and enable call-graph (stack cha << 
172         See `--call-graph` section in perf-rec << 
173         man pages for details. The ones that a << 
174         are 'dwarf' and 'lbr', where available << 
175                                                << 
176         Using this will, for the root user, bu << 
177         times the maximum for non-root users,  << 
178         sysctl. This is done only if the user  << 
179                                                << 
180 --kernel-syscall-graph::                       << 
181          Show the kernel callchains on the sys << 
182                                                << 
183 --max-events=N::                               << 
184         Stop after processing N events. Note t << 
185         only at exit time or when a syscall is << 
186         option is equivalent to the number of  << 
187                                                << 
188 --switch-on EVENT_NAME::                       << 
189         Only consider events after this event  << 
190                                                << 
191 --switch-off EVENT_NAME::                      << 
192         Stop considering events after this eve << 
193                                                << 
194 --show-on-off-events::                         << 
195         Show the --switch-on/off events too.   << 
196                                                << 
197 --max-stack::                                  << 
198         Set the stack depth limit when parsing << 
199         beyond the specified depth will be ign << 
200         this is just about the presentation pa << 
201         not limiting, the overhead of callchai << 
202         knobs in --call-graph dwarf.           << 
203                                                << 
204         Implies '--call-graph dwarf' when --ca << 
205         command line, on systems where DWARF u << 
206                                                << 
207         Default: /proc/sys/kernel/perf_event_m << 
208                  live sessions (without --inpu << 
209                                                << 
210 --min-stack::                                  << 
211         Set the stack depth limit when parsing << 
212         below the specified depth will be igno << 
213                                                << 
214         Implies '--call-graph dwarf' when --ca << 
215         command line, on systems where DWARF u << 
216                                                << 
217 --print-sample::                               << 
218         Print the PERF_RECORD_SAMPLE PERF_SAMP << 
219         raw_syscalls:sys_{enter,exit} tracepoi << 
220                                                << 
221 --proc-map-timeout::                           << 
222         When processing pre-existing threads / << 
223         because the file may be huge. A time o << 
224         This option sets the time out limit. T << 
225                                                << 
226 --sort-events::                                << 
227         Do sorting on batches of events, use w << 
228         may happen, for instance, when a threa << 
229         while processing a syscall.            << 
230                                                << 
231 --libtraceevent_print::                        << 
232         Use libtraceevent to print tracepoint  << 
233         the same beautifiers used in the strac << 
234         tracepoint arguments.                  << 
235                                                << 
236 --map-dump::                                   << 
237         Dump BPF maps setup by events passed v << 
238         living in tools/perf/examples/bpf/augm << 
239         dumps just boolean map values and inte << 
240         by default and use BTF when available, << 
241         printing using the existing 'perf trac << 
242         arguments to strings (pid to comm, sys << 
243                                                << 
244                                                << 
245 PAGEFAULTS                                     << 
246 ----------                                     << 
247                                                << 
248 When tracing pagefaults, the format of the tra << 
249                                                << 
250 <min|maj>fault [<ip.symbol>+<ip.offset>] => <ad << 
251                                                << 
252 - min/maj indicates whether fault event is min << 
253 - ip.symbol shows symbol for instruction point << 
254   fault); if no debug symbols available, perf  << 
255 - addr.dso shows DSO for the faulted address;  << 
256 - map type is either 'd' for non-executable ma << 
257 - addr level is either 'k' for kernel dso or ' << 
258                                                << 
259 For symbols resolution you may need to install << 
260                                                << 
261 Please be aware that duration is currently alw << 
262 time it took for fault to be handled!          << 
263                                                << 
264 When --verbose specified, perf trace tries to  << 
265 for both IP and fault address in the form of d << 
266                                                << 
267 EXAMPLES                                       << 
268 --------                                       << 
269                                                << 
270 Trace only major pagefaults:                   << 
271                                                << 
272  $ perf trace --no-syscalls -F                 << 
273                                                << 
274 Trace syscalls, major and minor pagefaults:    << 
275                                                << 
276  $ perf trace -F all                           << 
277                                                << 
278   1416.547 ( 0.000 ms): python/20235 majfault  << 
279                                                << 
280   As you can see, there was major pagefault in << 
281   CRYPTO_push_info_ routine which faulted some << 
282                                                << 
283 Trace the first 4 open, openat or open_by_hand << 
284                                                << 
285   $ perf trace -e open* --max-events 4         << 
286   [root@jouet perf]# trace -e open* --max-even << 
287   2272.992 ( 0.037 ms): gnome-shell/1370 opena << 
288   2277.481 ( 0.139 ms): gnome-shell/3039 opena << 
289   3026.398 ( 0.076 ms): gnome-shell/3039 opena << 
290   4294.665 ( 0.015 ms): sed/15879 openat(dfd:  << 
291   $                                            << 
292                                                << 
293 Trace the first minor page fault when running  << 
294                                                << 
295   # perf trace -F min --max-stack=7 --max-even << 
296      0.000 ( 0.000 ms): sleep/18006 minfault [ << 
297                                        __clear << 
298                                        load_el << 
299                                        search_ << 
300                                        __do_ex << 
301                                        __x64_s << 
302                                        do_sysc << 
303                                        entry_S << 
304   #                                            << 
305                                                << 
306 Trace the next min page page fault to take pla << 
307                                                << 
308   # perf trace -F min --call-graph=dwarf --max << 
309      0.000 ( 0.000 ms): Web Content/17136 minf << 
310                                        js::gc: << 
311                                        js::gc: << 
312                                        js::gc: << 
313                                        js::gc: << 
314                                        js::gc: << 
315                                        js::gc: << 
316                                        js::gc: << 
317                                        js::All << 
318                                        js::All << 
319                                        JSThinI << 
320                                        Allocat << 
321                                        js::Con << 
322                                        [0x18b2 << 
323   #                                            << 
324                                                << 
325 Trace the next two sched:sched_switch events,  << 
326 next block:*_unplug and the next three net:*de << 
327 with a backtrace of at most 16 entries, system << 
328                                                << 
329   # perf trace -e sched:*switch/nr=2/,block:*_ << 
330      0.000 :0/0 sched:sched_switch:swapper/2:0 << 
331      0.015 rcu_sched/10 sched:sched_switch:rcu << 
332    254.198 irq/50-iwlwifi/680 net:net_dev_queu << 
333                                        __dev_q << 
334    273.977 :0/0 net:net_dev_queue:dev=wlp3s0 s << 
335                                        __dev_q << 
336    274.007 :0/0 net:net_dev_queue:dev=wlp3s0 s << 
337                                        __dev_q << 
338   2930.140 kworker/u16:58/2722 block:block_plu << 
339   2930.162 kworker/u16:58/2722 block:block_unp << 
340   4466.094 jbd2/dm-2-8/748 block:block_plug:[j << 
341   8050.123 kworker/u16:30/2694 block:block_plu << 
342   8050.271 kworker/u16:30/2694 block:block_plu << 
343   #                                            << 
344                                                    22 
345 SEE ALSO                                           23 SEE ALSO
346 --------                                           24 --------
347 linkperf:perf-record[1], linkperf:perf-script[ !!  25 linkperf:perf-record[1]
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php