• Arnaldo Carvalho de Melo's avatar
    perf trace: Introduce --errno-summary · b88b14db
    Arnaldo Carvalho de Melo authored
    To be used with -S or -s, using just this new option implies -s,
    examples:
    
      # perf trace --errno-summary sleep 1
    
       Summary of events:
    
       sleep (10793), 80 events, 93.0%
    
         syscall            calls  errors  total       min       avg       max       stddev
                                           (msec)    (msec)    (msec)    (msec)        (%)
         --------------- --------  ------ -------- --------- --------- ---------     ------
         nanosleep              1      0  1000.427  1000.427  1000.427  1000.427      0.00%
         mmap                   8      0     0.026     0.002     0.003     0.005      9.18%
         close                  5      0     0.018     0.001     0.004     0.009     48.97%
         mprotect               4      0     0.017     0.003     0.004     0.006     16.49%
         openat                 3      0     0.012     0.003     0.004     0.005      9.41%
         munmap                 1      0     0.010     0.010     0.010     0.010      0.00%
         brk                    4      0     0.005     0.001     0.001     0.002     22.77%
         read                   4      0     0.005     0.001     0.001     0.002     22.33%
         access                 1      1     0.004     0.004     0.004     0.004      0.00%
      				ENOENT: 1
         fstat                  3      0     0.004     0.001     0.001     0.002     17.18%
         lseek                  3      0     0.003     0.001     0.001     0.001     11.62%
         arch_prctl             2      1     0.002     0.001     0.001     0.001      3.32%
      				EINVAL: 1
         execve                 1      0     0.000     0.000     0.000     0.000      0.00%
    
      #
    
    Works as well together with --failure and -S, i.e. collect the stats and
    show just the syscalls that failed:
    
      # perf trace --failure -S --errno-summary sleep 1
           0.032 arch_prctl(option: 0x3001, arg2: 0x7fffdb11b580) = -1 EINVAL (Invalid argument)
           0.045 access(filename: "/etc/ld.so.preload", mode: R) = -1 ENOENT (No such file or directory)
    
       Summary of events:
    
       sleep (10806), 80 events, 93.0%
    
         syscall            calls  errors  total       min       avg       max       stddev
                                           (msec)    (msec)    (msec)    (msec)        (%)
         --------------- --------  ------ -------- --------- --------- ---------     ------
         nanosleep              1      0  1000.094  1000.094  1000.094  1000.094      0.00%
         mmap                   8      0     0.026     0.002     0.003     0.005      9.06%
         close                  5      0     0.018     0.001     0.004     0.010     49.58%
         mprotect               4      0     0.017     0.003     0.004     0.006     17.56%
         openat                 3      0     0.014     0.004     0.005     0.006     12.29%
         munmap                 1      0     0.010     0.010     0.010     0.010      0.00%
         brk                    4      0     0.005     0.001     0.001     0.002     22.75%
         read                   4      0     0.005     0.001     0.001     0.002     17.19%
         access                 1      1     0.005     0.005     0.005     0.005      0.00%
      				ENOENT: 1
         fstat                  3      0     0.004     0.001     0.001     0.002     21.66%
         lseek                  3      0     0.003     0.001     0.001     0.001     11.71%
         arch_prctl             2      1     0.002     0.001     0.001     0.001      2.66%
      				EINVAL: 1
         execve                 1      0     0.000     0.000     0.000     0.000      0.00%
    
      #
    Suggested-by: default avatarAndi Kleen <ak@linux.intel.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-l0mjwczkpouov7lss5zn8d9h@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    b88b14db
perf-trace.txt 13.1 KB