Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Linux Tools Project/LTTng"

(Overview)
(Overview)
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
  
LTTng is a tracer for Linux that has the capability to generate a high volume of traces (from the kernel or application) with very low overhead. This is achieved by instrumenting the Linux kernel. 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.
+
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 scope of this project is to provide an Eclipse integration of LTTng. It will be delivered in two components:
+
The project will be delivered in two components:
* Tracing and Monitoring Framework (TMF) that facilitates the integration of tracing tools in Eclipse
+
* A Tracing and Monitoring Framework (TMF), a tracing tool-agnostic component that facilitates their integration in Eclipse
* LTTng reference implementation based on TMF
+
* An LTTng reference implementation based on TMF
  
  
=== Tracing and Monitoring Framework ===
+
The Tracing and Monitoring Framework will provide a number of features:
 
+
* Tracing project management
TMF provides generic support the following:
+
* Support for very large trace files (that exceed available memory)
* Tracing tool control (local or remote)
+
 
* Online monitoring and trace streaming
 
* Online monitoring and trace streaming
* Retrieval and handling very large trace files (that exceed available memory)
 
 
* Unified view for multiple, heterogeneous traces
 
* Unified view for multiple, heterogeneous traces
* Trace correlation
+
* Traces correlation
 
* Out-of-the-box set of standard tracing views
 
* Out-of-the-box set of standard tracing views
 
* Toolbox of tracing widgets that can be used to assemble application specific views
 
* Toolbox of tracing widgets that can be used to assemble application specific views
* Toolbox of statistical components
+
* Toolbox of statistical widgets
* View synchronization
+
* View synchronization mechanism
* Clipboard support (for ranges of events)
+
* Clipboard support
* Wizard for tracing/logging/monitoring application integration
+
* Wizards for tracing/logging/monitoring application integration
* Ad hoc trace parser generator (wizard) for:
+
* Wizard for parser generation (CSV, XML, plain text, regular expression, ...)
** Generic text logs
+
** CSV logs
+
** XML logs
+
** Anything that can be parsed using regular expressions
+
  
=== LTTng reference implementation ===
 
  
The LTTng reference implementation is built on top of TMF. It features the following:
+
From a user's perspective, the main features of the LTTng integration are:
* Exemplary implementation of the usage of TMF
+
* Control of the LTTng tracer running on a target node (remote or local)
* Control of LTTng, local and remote (TCF based agent)
+
* 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
 
* Example of a third-party parsing library integration
* Support for distributed, multi-processor, multi-core trace synchronization
+
* Standard LTTv trace visualization, correlation and analysis views
* Retrieval and efficient handling of large trace files (>10Gb)
+
* Support for kernel and the upcoming user space tracing
* Support for kernel and user space tracing
+
* Traces visualization, correlation and analysis
+
 
* State tracking system
 
* State tracking system
  

Revision as of 10:13, 19 October 2009

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

LTTng is not yet part of the Linux Tools release train.

However, the plugins contributed so far provide the following:

TMF

  • Handling of very large trace files
  • Generic Events View
  • Generic state range widget

LTTng

  • LTTng parsing libray integration (using JNI)
  • Project View
  • Time Frame View
  • Events View
  • Control Flow View
  • Resources View
  • Statistics View

Coming up

  • Histogram View
  • Support for multiple traces
  • Bug fixes...

Future Plans

Screenshots

Video Demo

Try it out

Back to the top