~ [ 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 policy-sample)


  1 perf-trace(1)                                     
  2 =============                                     
  3                                                   
  4 NAME                                              
  5 ----                                              
  6 perf-trace - strace inspired tool                 
  7                                                   
  8 SYNOPSIS                                          
  9 --------                                          
 10 [verse]                                           
 11 'perf trace'                                      
 12 'perf trace record'                               
 13                                                   
 14 DESCRIPTION                                       
 15 -----------                                       
 16 This command will show the events associated w    
 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                                                   
 29 OPTIONS                                           
 30 -------                                           
 31                                                   
 32 -a::                                              
 33 --all-cpus::                                      
 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                                                   
345 SEE ALSO                                          
346 --------                                          
347 linkperf:perf-record[1], linkperf:perf-script[    
                                                      

~ [ 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