I am pleased to make the first announcement of Linux Trace Toolkit Viewer (LTTV)
and Linux Trace Toolkit Next Generation (LTTng) on LKML.
LTTV is a modular viewer/analysis tool specifically designed to deal with very
large traces generated by a production system.
It comes with a Linux kernel tracer, Linux Trace Toolkit Next Generation
(LTTng), which builds on the existing LTT tracepoints and RelayFS delivery
mechanism but is a complete rewrite of LTT tracing module and daemon.
The design aims at facilitating contributions from the community. We know that
the vast quantity of analysis that can be performed on trace data is
practically unlimited, so we want to make it as easy and fun as possible to add
those to the project.
You can get it at http://ltt.polymtl.ca. Follow the Quickstart guide to know how
to get it from Debian packages, RPM or sources.
LTTV key features :
- Support for large traces (it has been tested with 15GB traces). I has been
designed from the start to deal with huge traces.
- Information from several tracefiles can be combined in a single view on the
fly.
- Deals with traces coming from any architecture size or endianness.
- Text command line interface supporting plugins for trace batch analysis.
- Graphical interface supporting visualisation plugins.
- Flexible event filter.
- Modular architecture :
* dynamically loadable plugins : each specific view/analysis becomes a
plugin.
* module dependencies architecture for maximum functionnality reuse and
easier testing.
- Addition of new instrumentations (or any kind of trace point) becomes easier
with an event description parser and a tracing code generator (genevent).
You can also get LTTng from http://ltt.polymtl.ca. Available in Debian, RPM and
sources packages. See the Quickstart guide.
LTTng key features :
- Easy addition of new instrumentations by supporting the genevent code
generator.
- Very precise timestamps on events by using the processor cycle counter
as an unique monotonic time reference.
- Minimal impact on the traced system : instrumentation does not disable
interrupts or take locks. It uses RCU and cmpxchg atomic operations instead.
- Non maskable interrupts (NMI) reentrancy.
- Supports many nestable types : structures, unions, arrays, sequences.
- Supports host dependant types.
- Makes dynamic alignment of trace data with a low overhead.
- Integration with LTTV viewer so tracing can be controlled directly from the
graphical interface.
- Can record many (n) independant traces at once.
- Modular architecture.
While this package is in a usable state and should be relatively easy to
install, it should be considered alpha software with many features and
documentation still being worked on.
You feedbacks are welcome. I hope you will enjoy it!
Mathieu Desnoyers
Master Student in Computer Engineering
Ecole Polytechnique de Montreal
OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68