1. 19 Dec, 2016 11 commits
    • Sasha Goldshtein's avatar
      uobjnew: Summarize object allocations · 2e7e2403
      Sasha Goldshtein authored
      Use various USDT probes in Java and Ruby, and `malloc()`
      uprobe in C, to summarize object allocations by type or
      by size. Print statistics at the end or at intervals, with
      optional trimming of top types by number of instances
      allocated or number of bytes.
      2e7e2403
    • Sasha Goldshtein's avatar
      6e5c621a
    • Sasha Goldshtein's avatar
      4cebb42e
    • Sasha Goldshtein's avatar
      uthreads: Add pthread support · bf0cf120
      Sasha Goldshtein authored
      Trace `pthread_start` calls and get the symbol for the
      newly-started thread for printing. Also allow no-Java runs
      with no language specified for pthread-only tracing.
      bf0cf120
    • Sasha Goldshtein's avatar
      uthreads: Trace thread creation/destruction events · 989057df
      Sasha Goldshtein authored
      `uthreads` attaches to thread start and stop USDT probes
      and traces out thread creation and destruction events.
      Currently, only Java is supported.
      989057df
    • Sasha Goldshtein's avatar
      ucalls: Trace syscalls · a245c793
      Sasha Goldshtein authored
      Add `-S` switch for tracing syscalls with or without high-
      level language method calls. When `-S` is provided, attach
      to all `sys_` and `SyS_` entry points in the kernel and
      trace the number of calls and execution latency (if `-L`
      was also specified).
      
      This is now also a useful general-purpose tool for syscall
      count/latency summarizing when a language is not specified.
      a245c793
    • Sasha Goldshtein's avatar
      ugc: Node support · 8853347d
      Sasha Goldshtein authored
      Add Node support for gc__start and gc__done probes, which
      includes GC type flag parsing.
      8853347d
    • Sasha Goldshtein's avatar
      tools: Script skeletons · c0217a9b
      Sasha Goldshtein authored
      Skeletons for method flow, object allocations, general
      event statistics, and thread statistics.
      c0217a9b
    • Sasha Goldshtein's avatar
      ugc: Add description messages for GC events · ddef09a1
      Sasha Goldshtein authored
      For runtimes that make it available, we now extract GC
      event information such as heap sizes and print this
      information in addition to the GC duration and timestamp.
      ddef09a1
    • Sasha Goldshtein's avatar
      ugc: Monitor GC events in high-level languages · e5d9d99a
      Sasha Goldshtein authored
      `ugc` monitors GC start and end events in Java, Python,
      and Ruby, printing out a message when a GC cycle completes
      along with the duration of the GC and an optional
      additional description that depends on the target language.
      
      NOTE: This WIP does not have any interesting additional
      descriptions yet.
      
      Usage example:
      
      ```
      ugc java 1448	# monitor Java GCs in process 1448
      ```
      e5d9d99a
    • Sasha Goldshtein's avatar
      ucalls: Summarize method calls with USDT · c13d14fe
      Sasha Goldshtein authored
      `ucalls` is a new tool that uses the USDT probes in high-
      level languages (Java, Python, Ruby) to summarize the
      number of method calls and optionally their latency. This
      is similar to `funccount` and `funclatency` but for methods
      in Java, Python, Ruby, and other languages that might have
      USDT probes for method entry and exit.
      
      `ucalls` uses the `method__entry` and `method__return`
      probes in Java and Ruby, and the `function__entry` and
      `function__return` probes in Python. The Python probes are
      not as accurate because they do not report the class name,
      but are still useful.
      
      The optional `-L` switch indicates whether latency numbers
      are required. By default, only the number of calls to each
      method is printed. The `-T` switch filters out the top
      methods (by number of calls or total latency).
      c13d14fe
  2. 16 Dec, 2016 4 commits
  3. 14 Dec, 2016 9 commits
  4. 13 Dec, 2016 1 commit
  5. 12 Dec, 2016 2 commits
  6. 11 Dec, 2016 1 commit
  7. 10 Dec, 2016 1 commit
  8. 09 Dec, 2016 11 commits