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.
- Remote control of tracing (http://git.dorsal.polymtl.ca/?p=lttng-agent.git).
- 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 (>10GB) 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
- Easy remote tracing with TCF based agent
- Highly efficient user space tracing
- Online monitoring and trace streaming
- Trace correlation
- Multi-level, multi-core distributed trace synchronization
- Enhanced Eclipse-based viewer with
- Multiple independent navigation cursors, each view may be binded to one of these cursors for navigating large/complex traces
- Generic, easy to enhance, state tracking system
- Better graphical interface, easier manipulation of events
- Support for heterogeneous traces
- Generic log text file support
- Text export support