1. 12 Feb, 2017 1 commit
  2. 26 Feb, 2017 3 commits
  3. 23 Feb, 2017 3 commits
  4. 22 Feb, 2017 2 commits
  5. 21 Feb, 2017 19 commits
  6. 20 Feb, 2017 4 commits
    • 4ast's avatar
      Merge pull request #992 from goldshtn/trace-argdist-usdt-arg · 0af31efb
      4ast authored
      trace, argdist: Treat small USDT arguments correctly
      0af31efb
    • Sasha Goldshtein's avatar
      trace, argdist: Treat small USDT arguments correctly · 3a5256f1
      Sasha Goldshtein authored
      trace and argdist currently only work correctly for USDT arguments
      whose size is exactly 8 bytes. Smaller types, such as chars, shorts,
      ints (signed or unsigned) are not treated correctly. The reason is
      that the produced program would invoke the `bpf_usdt_readarg` helper
      with the address of a u64 local variable, and then cast that variable
      to the user-specified type derived from the format string. However,
      the `bpf_usdt_readarg` rewriting then passes `sizeof(u64)` to the
      generated `bpf_..._readarg` macro, which then fails to read anything
      because the provided size doesn't match the argument size it knows
      about.
      
      The fix is fairly easy: instead of declaring a u64 unconditionally
      and reading into that variable with `bpf_usdt_readarg`, declare a
      variable that has the correct type according to what we know about
      the USDT probe.
      3a5256f1
    • 4ast's avatar
      Merge pull request #989 from pchaigno/fix-fd-leak · 203fd276
      4ast authored
      Fix file descriptor leak
      203fd276
    • Paul Chaignon's avatar
      Fix file descriptor leak · 29195875
      Paul Chaignon authored
      29195875
  7. 19 Feb, 2017 1 commit
    • Sasha Goldshtein's avatar
      Support base + index * scale addressing for USDT arguments · 8698bdb0
      Sasha Goldshtein authored
      It turns out that some software will have USDT probe arguments
      referencing memory using the full `nnn@(%basereg + %idxreg * scale`
      syntax. This is represented as `nnn@(%basereg,%idxreg,scale)` in
      the `NT_STAPSDT` note, encountered in building a recent version of
      PostgreSQL on FC25.
      
      This format is now recognized by the USDT parser, and the correct
      BPF code is emitted to retrieve arguments that reference memory
      using this full addressing syntax.`
      8698bdb0
  8. 16 Feb, 2017 7 commits
    • Brenden Blanco's avatar
      Merge pull request #972 from r4f4/fix-llcstat · 0a34d1e6
      Brenden Blanco authored
      llcstat: fix TypeError on python3
      0a34d1e6
    • Brendan Gregg's avatar
      Merge pull request #970 from goldshtn/db-tools · eec07318
      Brendan Gregg authored
      dbslower and dbstat
      eec07318
    • Brendan Gregg's avatar
      Merge branch 'master' into db-tools · 232c305f
      Brendan Gregg authored
      232c305f
    • Brenden Blanco's avatar
      Merge pull request #971 from goldshtn/syscount · 8ca91fca
      Brenden Blanco authored
      syscount: Summarize syscall counts and latencies
      8ca91fca
    • Brenden Blanco's avatar
      Merge pull request #982 from irregulator/master · 30aece23
      Brenden Blanco authored
      Adds zlib1g-dev Debian package build dependency
      30aece23
    • Alexandros's avatar
      Adds zlib1g-dev Debian package build dependency · 4ee5449e
      Alexandros authored
      When building from source in Debian, zlib1g-dev is needed or else
      '/usr/bin/ld: cannot find -lz' error will occur.
      4ee5449e
    • Sasha Goldshtein's avatar
      syscount: Summarize syscall counts and latencies · 8e583cca
      Sasha Goldshtein authored
      This new tool attaches to the raw_syscalls:sys_enter and sys_exit
      tracepoints, and collects frequency counts and optionally latencies
      of syscalls (aggregated by syscall or by process). It is a fairly
      natural and efficient extension of Brendan Gregg's syscount from
      perf-tools. Options include latency tracing, interval printouts,
      process filtering, summarizing only failed syscalls, and more.
      
      NOTE:
      The translation of syscall numbers to names is performed using a
      static list, borrowed from strace sources. It is accurate up to
      syscall 313, and does not include the bpf() syscall, for example.
      Also, it is only relevant for x86_64.
      
      Basic example:
      
      ```
      $ syscount -P
      Tracing syscalls, printing top 10... Ctrl+C to quit.
      [10:13:21]
      PID    COMM               COUNT
      30216  sshd                 533
      31391  vi                   494
      25188  screen               134
      25776  mysqld                24
      31394  python                10
      494    systemd-journal        5
      ^C
      
      $ syscount -L
      Tracing syscalls, printing top 10... Ctrl+C to quit.
      [10:13:34]
      SYSCALL                   COUNT        TIME (us)
      select                      132      1902458.009
      nanosleep                   166        11136.305
      write                        89           41.308
      ftruncate                     1           33.217
      stat                          1           22.117
      fstat                         1            6.134
      [unknown: 321]               28            4.553
      ioctl                         7            4.544
      wait4                       166            3.962
      timerfd_settime               1            3.786
      ^C
      ```
      
      Related: #786
      8e583cca