LTTng

{{multiple issues|

{{more footnotes|date=May 2016}}

{{primary sources|date=May 2016}}

}}

{{Infobox software

| name = LTTng

| developer = EfficiOS

| released = 2005

| latest release version = 2.13

| latest release date = {{release date and age|2021|08|02}}

| programming language = C

| operating system = Linux, FreeBSD{{Citation needed|date=February 2017}}

| language = English

| genre = Tracing

| license = {{ubl|Tracer module and libraries: GNU Lesser General Public License|Tools: GNU General Public License|Tracer public headers and Babeltrace: MIT License}}

| website = {{URL|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 having 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).{{Cite web|last=Wilson|first=Richard|date=2014-03-20|title=Tracing and visualisation of embedded Linux systems|url=https://www.electronicsweekly.com/market-sectors/embedded-systems/tracing-visualisation-embedded-linux-systems-2014-03/|access-date=2021-04-20|website=Electronics Weekly|language=en}} 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.[http://lttng.org/download lttng download]

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|date=February 2017}}.

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[http://tracecompass.org/ Trace Compass] or commercial tools such as Mentor Graphics' Sourcery Analyzer and Percepio Tracealyzer.{{Cite web |url=http://percepio.com/tz |title=Percepio Tracealyzer |access-date=2014-11-25 |archive-date=2015-05-11 |archive-url=https://web.archive.org/web/20150511215728/http://percepio.com/tz/ |url-status=dead }}

LTTng-modules, LTTng-UST, LTTng-tools and Babeltrace are actively developed by an open community.

See also

{{Portal|Free and open-source software}}

Further reading

  • [https://events.static.linuxfound.org/slides/lfcs09_desnoyers_paper.pdf LTTng, Filling the Gap Between Kernel Instrumentation and a Widely Usable Kernel Tracer]
  • [https://www.kernel.org/doc/ols/2008/ols2008v1-pages-101-106.pdf LTTng: Tracing across execution layers]
  • [http://lttng.org/files/papers/desnoyers-codebreakers.pdf Tracing for HardWare, Driver, and Binary Reverse Engineering in Linux]

References

{{Reflist}}