• Arnaldo Carvalho de Melo's avatar
    perf python scripting: Improve the failed-syscalls-by-pid script · 6cc73614
    Arnaldo Carvalho de Melo authored
    . Print message at script start telling how to get te summary
    . Print the syscall name using the audit-lib-python package, if
      installed
    . Print the errno string
    . Accept both pid (if numeric) or COMM name
    
    Now it looks like this:
    
    [root@emilia ~]# perf trace failed-syscalls-by-pid
    Press control+C to stop and show the summary
    ^C
    syscall errors:
    
    comm [pid]                           count
    ------------------------------  ----------
    
    automount [1670]
      syscall: futex
        err = ETIMEDOUT                     39
    
    irqbalance [1462]
      syscall: openat
        err = ENOENT                         4
    
    perf [7888]
      syscall: lseek
        err = ESPIPE                         1
      syscall: open
        err = ENOENT                        24
    
    perf [7889]
      syscall: ioctl
        err = EINVAL                         1
      syscall: readlink
        err = EINVAL                         2
      syscall: open
        err = ENOENT                       389
      syscall: stat
        err = ENOENT                       141
      syscall: lseek
        err = ESPIPE                         3
    [root@emilia ~]#
    
    [root@emilia ~]# perf trace failed-syscalls-by-pid 1670
    Press control+C to stop and show the summary
    ^C
    syscall errors:
    
    comm [pid]                           count
    ------------------------------  ----------
    
    automount [1670]
      syscall: futex
        err = ETIMEDOUT                      2
    [root@emilia ~]#
    [root@emilia ~]#
    [root@emilia ~]#
    [root@emilia ~]# perf trace failed-syscalls-by-pid automount
    Press control+C to stop and show the summary
    ^C
    syscall errors for automount:
    
    comm [pid]                           count
    ------------------------------  ----------
    
    automount [1669]
      syscall: futex
        err = ETIMEDOUT                      1
    
    automount [1670]
      syscall: futex
        err = ETIMEDOUT                      5
    [root@emilia ~]#
    
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Tom Zanussi <tzanussi@gmail.com>
    LKML-Reference: <new-submission>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    6cc73614
failed-syscalls-by-pid.py 2.01 KB