1. 30 Mar, 2017 3 commits
    • Paul Chaignon's avatar
      u* tools: automatically detect the language (#1067) · 4bb6d7fe
      Paul Chaignon authored
      * cc: bcc function to detect the language of a process
      
      bcc_procutils_language looks into /proc/$pid/cmdline, /proc/$pid/exe,
      and /proc/$pid/maps to determine the language.
      Python wrapper takes a list of candidate languages; if the detected
      language is not part of the list, None is returned.
      
      * u* tools: automatically detect the language
      
      Uses the detect_language bcc helper. -l switch can override the
      detected language. In uthreads and ucalls, the language can be
      overwritten to 'none' to trace pthreads and syscalls respectively.
      
      All tools use the -l switch to set the language, for consistency.
      4bb6d7fe
    • Brenden Blanco's avatar
      Merge pull request #1076 from palmtenor/helpermacro · 00f662db
      Brenden Blanco authored
      Improve helper Macros
      00f662db
    • kmjohansen's avatar
      bcc container improvements (#1051) · 4b87af0c
      kmjohansen authored
      * Bcc should look at mountns during symbol resolution.
      
      Allow bcc to resolve symbols in processes that have mappings in a
      different mount namespace.  This allows us to obtain stack traces from
      the host when our target resides in a container.  With this change it's
      possible to get stacks from targets that used to show up as unknown.
      
      * When searching for perf-map files look in container, and then host.
      
      Allow perf-map files to exist either in the container under the pid
      that's specific to the container's pid namespace, or in the host
      container using the pid that's specific to the initial pid namespace.
      This lets us store the perf-map either in the continer or on the host,
      depending upon which is easier for the person performing the debugging.
      
      * Allow bcc to place uprobes and USDT probes in containers.
      
      The uprobe/usdt mechanism uses the target's inode in order to determine
      where to place the probe.  The inode lookup occurs at the time the file
      path is written to uprobe_events.  If bpf_attach_uprobe() has been
      passed a pid, and that pid is in a different mount namespace from the
      caller, attempt to switch to the victim's mount namespace so that we can
      select the correct inode for the probe.
      
      * Add unit tests for the container improvements code.
      4b87af0c
  2. 29 Mar, 2017 3 commits
  3. 27 Mar, 2017 1 commit
  4. 26 Mar, 2017 7 commits
  5. 25 Mar, 2017 1 commit
  6. 24 Mar, 2017 1 commit
    • Gary Lin's avatar
      docs: add the supplementary commits for LRU hashes · b991fef1
      Gary Lin authored
      This commit addes two kernel commits for the LRU hashes to provide the
      more information about LRU hashes. The original commits (29ba732acbee
      and 8f8449384ec3) mark the inclusion of LRU hashes, but the commit
      messages do not mention the details. The commits 3a08c2fd7634 and
      961578b63474 actually implement the LRU list and provide the detailed
      information about why LRU hash is created and how it works, and this can
      help people to understand LRU hashes more quickly.
      Signed-off-by: default avatarGary Lin <glin@suse.com>
      b991fef1
  7. 23 Mar, 2017 3 commits
  8. 22 Mar, 2017 4 commits
  9. 21 Mar, 2017 5 commits
  10. 18 Mar, 2017 2 commits
  11. 16 Mar, 2017 2 commits
  12. 11 Mar, 2017 4 commits
    • Brenden Blanco's avatar
      Merge pull request #1032 from goldshtn/tools-tests · dd3867d3
      Brenden Blanco authored
      Smoke tests for the tools
      dd3867d3
    • Sasha Goldshtein's avatar
      tests: Add smoke tests for most tools · 5c41b39b
      Sasha Goldshtein authored
      This commit adds basic smoke tests for most tools in tools/ by
      running the tool with either a short duration, or interrupting it
      with a SIGINT after a short duration. The tests check the return
      value from the tool to detect any Python exceptions or other
      errors, but they do not read the standard error or standard output
      and parse the tool's result.
      
      Some tools are not covered by these smoke tests for reasons
      documented in the test itself:
      
      * btrfsdist and btrfsslower need btrfs
      * cachetop doesn't like to run without a terminal
      * dbslower, dbstat, and mysqld_qslower need a database engine
      * deadlock_detector allocates a huge amount of memory
      * softirqs doesn't work on new kernels and needs fixing (#1031)
      * ugc needs a USDT-enabled runtime with GC probes
      * zfsdist and zfsslower need zfs
      
      This is a good place to start, but clearly for some tools,
      especially those with a complex interface like trace and argdist,
      we need more than just basic smoke tests.
      5c41b39b
    • Sasha Goldshtein's avatar
      2febc297
    • 4ast's avatar
      Merge pull request #1044 from goldshtn/ausyscall · eea18dc8
      4ast authored
      syscount: Use ausyscalls if available to get syscall list
      eea18dc8
  13. 10 Mar, 2017 2 commits
  14. 09 Mar, 2017 2 commits