LTTng
Developer(s) | Mathieu Desnoyers |
---|---|
Initial release | 2005 |
Stable release |
2.7.0
/ September 24, 2015 |
Written in | C |
Operating system | Linux, FreeBSD |
Available in | English |
Type | Tracing |
License | tracer module and libraries: GNU Lesser General Public License, tools: GNU General Public License, tracer public headers and Babeltrace: MIT License |
Website | www.lttng.org |
LTTng (Linux Trace Toolkit Next Generation) is a system software package for correlated tracing of the Linux kernel, applications and libraries. The project was originated by Mathieu Desnoyers with an initial release in 2005. Its predecessor is the Linux Trace Toolkit.
LTTng uses the Tracepoint instrumentation of the Linux kernel, as well as various other information sources such as kprobes, and the Perf performance monitoring counters.
Designed for minimal performance impact and has a near-zero impact when not tracing, it is useful for debugging a wide range of bugs that are otherwise extremely challenging.
Features
The challenging problems traceable with LTTng include, for example, performance problems on parallel systems and on real-time systems.
Custom instrumentation is easy to add.
Structure
LTTng consists of kernel modules (for Linux kernel tracing) and dynamically linked libraries (for application and library tracing). It is controlled by a session daemon, which receives commands from a command line interface, lttng. The Babeltrace project allows translating traces into a human-readable log, and provides a trace reading library, libbabeltrace.
Deployment
LTTng is available as a set of packages.[1]
LTTng has at least basic support for all Linux-supported architectures (see the LTTng-modules README file for more details) as well as support for FreeBSD.
Major users include Google, IBM, Autodesk, Siemens, Nokia, Sony and Ericsson. It is included in Wind River Workbench, Mentor Graphics Mentor Embedded Linux, ELinOS embedded Linux, MontaVista Mobilinux 5.0, STLinux and SUSE Linux Enterprise Real-Time Linux distributions. Once collected, multiple solutions exist to process and visualize LTTng trace data (kernel and userspace) such as the open-source LTTV viewer, Eclipse Trace Compass[2] or commercial tools such as Mentor Graphics' Sourcery Analyzer and Percepio Tracealyzer.[3]
LTTng-modules, LTTng-UST, LTTng-tools and Babeltrace are actively developed by an open community.
See also
References
- General
- LTTng, Filling the Gap Between Kernel Instrumentation and a Widely Usable Kernel Tracer
- LTTng: Tracing across execution layers
- Tracing for HardWare, Driver, and Binary Reverse Engineering in Linux
External links
- LTTng Homepage
- LTTng git repositories
- MontaVista Linux Platform Development Kit 5.0 datasheet
- Percepio Tracealyzer Homepage
- On the value of static tracepoints