Distinctive features

Tracer

  • Support for x86-32, x86-64, PowerPC 32/64, ARMv7 OMAP3, MIPS, sh, sparc64, s390.
  • Other Linux architectures supported with limited timestamp precision.
  • Static tracing (highly optimized).
  • Dynamic tracing support using kprobes.
  • Binary trace format highly optimized for compactness.
  • Self describing trace format.
  • Efficient probes with no trap and no system call.
  • Almost zero performance impact with instrumentation points disabled (kernel: uses code modification, userspace: uses fast boolean evaluation).
  • Active instrumentation points have low performance impact (a fast C language function call).
  • Kernel tracer scalable to high core numbers (uses RCU mechanism, per-cpu buffers, non-blocking atomic operations).
  • Support C/C++ and any language that can call C code.
  • Reentrant: kernel tracer NMI safe, userspace tracer thread and signal safe.
  • Zero copy from event generation to disk write.
  • Generate events with arbitrary number of arguments (variable event sizes).
  • Support for conditional tracing through custom probes.
  • Timestamp precision typically ~1ns (cycle counter).
  • Accurate event ordering, even across cores/cpus (except if hardware makes it impossible).
  • Supports simultaneous recording of multiple traces.
  • Support for arbitrary architecture endianness.
  • Tracing modes: write-to-disk, flight recorder, stream to remote disk (under development), live monitoring (local or remote) (under development).
  • Traces composed of several channels that have distinct buffers with their own size.
  • Flight recorder mode activation is per-channel.

Trace Analysis

  • Analysis of extremely large traces (>100GB) with LTTV.
  • New Eclipse-based analyzer program currently under development (http://www.eclipse.org/linuxtools/projectPages/lttng/).
  • Analysis views: resource view, per thread execution state (control flow view), event rate histogram, detailed event list, filtering, view synchronization, IRQ latency.

Features in progress

  • Highly efficient user space tracing
  • Online monitoring and trace streaming
  • Trace correlation
  • Multi-level, multi-core distributed trace synchronization