Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Linux Tools Project/LTTng
Contents
Overview
LTTng is a tracer for Linux that has the capability to generate a high volume of traces (from the kernel or an application) with very low overhead. This is achieved by instrumenting the Linux kernel and using debugfs, an efficient and lightweight virtual file system for debuging information. LTTng is delivered as a set of kernel patches, to collect the traces, as well as a tool chain to control, view and analyze the generated data.
The scope of this project is to provide an Eclipse integration of LTTng, in particular its LTTv component which is used to control, fetch and visualize the LTTng traces.
The project will be delivered in two components:
- A Tracing and Monitoring Framework (TMF), a tracing tool-agnostic component that facilitates their integration in Eclipse
- An LTTng reference implementation based on TMF
The Tracing and Monitoring Framework will provide a number of features:
- Tracing project management
- Support for very large trace files (that exceed available memory)
- Online monitoring and trace streaming
- Unified view for multiple, heterogeneous traces
- Traces correlation
- Out-of-the-box set of standard tracing views
- Toolbox of tracing widgets that can be used to assemble application specific views
- Toolbox of statistical widgets
- View synchronization mechanism
- Clipboard support
- Wizards for tracing/logging/monitoring application integration
- Wizard for parser generation (CSV, XML, plain text, regular expression, ...)
From a user's perspective, the main features of the LTTng integration are:
- Control of the LTTng tracer running on a target node (remote or local)
- Efficient retrieval and handling of LTTng trace files
- Support for distributed, multi-processor, multi-core traces synchronization
- Example of a third-party parsing library integration
- Standard LTTv trace visualization, correlation and analysis views
- Support for kernel and the upcoming user space tracing
- State tracking system
Current Status
The first internal release (v0.1.0, delivered October/14) implements the following features:
LTTng Perspective
- Project View
- Time Frame View
- Events View
- Control Flow View
- Resources View
- Statistics View
- View Synchronization
LTTng structure
- JNI integration of the C library
- First integration of the LTTv State Provider
- Integrated Help
Tracing and Monitoring Framework
- Generic Event model
- Generic Trace model
- Support for arbitrarily large traces
- Support for custom trace parsers
- Concurrent Data Request handling
- Generic Events View
Limitations
- Single LTTng trace support only
Future Plans
V0.2.0 (due in December)
- LTTng Control (remote and local)
- Histogram View
- Parser Generator Wizard
- Performance improvements
- Bug fixes
V0.3.0 (due TBD)
- TBD
- Performance improvements
- Bug fixes
V1.0.0 (2010 Q2)
- Performance improvements
- Bug fixes