• Arnaldo Carvalho de Melo's avatar
    perf trace beauty: Make connect's addrlen be printed as an int, not hex · 1d862752
    Arnaldo Carvalho de Melo authored
      # perf trace -e connec* ssh www.bla.com
      connect(3</var/lib/sss/mc/passwd>, { .family: PF_LOCAL, path: /var/run/nscd/socket }, 110) = -1 ENOENT (No such file or directory)
      connect(3</var/lib/sss/mc/passwd>, { .family: PF_LOCAL, path: /var/run/nscd/socket }, 110) = -1 ENOENT (No such file or directory)
      connect(4<socket:[16610959]>, { .family: PF_LOCAL, path: /var/lib/sss/pipes/nss }, 110) = 0
      connect(7, { .family: PF_LOCAL, path: /var/run/nscd/socket }, 110) = -1 ENOENT (No such file or directory)
      connect(7, { .family: PF_LOCAL, path: /var/run/nscd/socket }, 110) = -1 ENOENT (No such file or directory)
      connect(5, { .family: PF_LOCAL, path: /var/run/nscd/socket }, 110) = -1 ENOENT (No such file or directory)
      connect(5</usr/lib64/libnss_mdns4_minimal.so.2>, { .family: PF_LOCAL, path: /var/run/nscd/socket }, 110) = -1 ENOENT (No such file or directory)
      connect(5</usr/lib64/libnss_mdns4_minimal.so.2>, { .family: PF_INET, port: 53, addr: 192.168.44.1 }, 16) = 0
      connect(5</usr/lib64/libnss_mdns4_minimal.so.2>, { .family: PF_INET, port: 22, addr: 146.112.61.108 }, 16) = 0
      connect(5</usr/lib64/libnss_mdns4_minimal.so.2>, { .family: PF_INET6, port: 22, addr: ::ffff:146.112.61.108 }, 28) = 0
      ^Cconnect(5</usr/lib64/libnss_mdns4_minimal.so.2>, { .family: PF_INET, port: 22, addr: 146.112.61.108 }, 16) = -1 (unknown) (INTERNAL ERROR: strerror_r(512, [buf], 128)=22)
      #
    
    Argh, the SCA_FD needs to invalidate its cache when close is done...
    
    It works if the 'close' syscall is not filtered out ;-\
    
      # perf trace -e close,connec* ssh www.bla.com
      close(3)                                = 0
      close(3</usr/lib64/libpcre2-8.so.0.8.0>) = 0
      close(3)                                = 0
      close(3</usr/lib64/libkrb5.so.3.3>)     = 0
      close(3</usr/lib64/libkrb5.so.3.3>)     = 0
      close(3)                                = 0
      close(3</usr/lib64/libk5crypto.so.3.1>) = 0
      close(3</usr/lib64/libk5crypto.so.3.1>) = 0
      close(3</usr/lib64/libcom_err.so.2.1>)  = 0
      close(3</usr/lib64/libcom_err.so.2.1>)  = 0
      close(3)                                = 0
      close(3</usr/lib64/libkrb5support.so.0.1>) = 0
      close(3</usr/lib64/libkrb5support.so.0.1>) = 0
      close(3</usr/lib64/libkeyutils.so.1.8>) = 0
      close(3</usr/lib64/libkeyutils.so.1.8>) = 0
      close(3)                                = 0
      close(3)                                = 0
      close(3)                                = 0
      close(3)                                = 0
      close(4)                                = 0
      close(3)                                = 0
      close(3)                                = 0
      connect(3</etc/nsswitch.conf>, { .family: PF_LOCAL, path: /var/run/nscd/socket }, 110) = -1 ENOENT (No such file or directory)
      close(3</etc/nsswitch.conf>)            = 0
      connect(3</usr/lib64/libnss_sss.so.2>, { .family: PF_LOCAL, path: /var/run/nscd/socket }, 110) = -1 ENOENT (No such file or directory)
      close(3</usr/lib64/libnss_sss.so.2>)    = 0
      close(3</usr/lib64/libnss_sss.so.2>)    = 0
      close(3)                                = 0
      close(3)                                = 0
      connect(4<socket:[16616519]>, { .family: PF_LOCAL, path: /var/lib/sss/pipes/nss }, 110) = 0
      ^C
      #
    
    Will disable this beautifier when 'close' is filtered out...
    
    Cc: Adrian Hunter <adrian.hunter@intel.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-ekuiciyx4znchvy95c8p1yyi@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    1d862752
builtin-trace.c 120 KB