Introduction of the new LTTng infrastructure for userspace and kernel tracing.
- Name: Yannick Brosseau
- Email: yannick.brosseau at gmail.com
- Targeted release: Fedora 18
- Last updated: 2012-07-17
- Percentage of completion: 80%
The LTTng project aims at providing highly efficient tracing tools for Linux. Its tracers help tracking down performance issues and debugging problems involving multiple concurrent processes and threads. Tracing across multiple systems is also possible.
The LTTng 2.0 Tracer Toolchain allows integrated kernel and user-space tracing from a single user interface: the "lttng" command. The 2.0 kernel tracer can be build against standard kernel. Other new features:
- Produces CTF (Common Trace Format) natively (http://www.efficios.com/ctf),
- Support Tracepoints, detailed syscall tracing (fast strace replacement), Function tracer, CPU Performance Monitoring Unit (PMU) counters and kprobes support,
- Integrated interface for both kernel and userspace tracing,
- Have the ability to attach "context" information to events in the trace (e.g. any PMU counter, pid, ppid, tid, comm name, etc). All the extra information fields to be collected with events are optional, specified on a per-tracing-session basis (except for timestamp and event id, which are mandatory).
Benefit to Fedora
Bringing the LTTng tracing capability to Fedora users. The lttng-ust library allows developper to instrument their application with static tracepoint. Other packages could be built with integrated ust tracepoint, allowing users to trace them without having to recompile them.
UST tracer and control package are already in place. The last part to add are the basic viewers.
How To Test
- Install the packages (mainly lttng-tools)
- For userspace tracing
- Compile one of the example in /usr/share/doc/lttng-ust/examples/
- Create, start a tracing session (http://lttng.org/quickstart)
- Read the resulting trace
- For kernel tracing
New tool (lttng) will be available to manage the tracing.
All the tracer component are integrated. The only missing part is one or more viewer. So even without the viewer, it would still be possible to create a trace with the lttng tool. You will need an external tool to view your trace. (Work to package them are already underway)
- Introduce LTTng 2.0 tracing tools