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 having a near-zero impact when not tracing, it is useful for
debugging
a wide range of bugs that are otherwise extremely challenging.
Features
[
edit
]
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
[
edit
]
LTTng consists of kernel modules (for Linux kernel tracing) and dynamically linked libraries (for application and library tracing).
[1]
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
[
edit
]
LTTng is available as a set of packages.
[2]
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
[
citation needed
]
.
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
[3]
or commercial tools such as
Mentor Graphics
' Sourcery Analyzer and Percepio Tracealyzer.
[4]
LTTng-modules, LTTng-UST, LTTng-tools and Babeltrace are actively developed by an open community.
See also
[
edit
]
Further reading
[
edit
]
References
[
edit
]
External links
[
edit
]