|
|
Line 1: |
Line 1: |
− | {{#eclipseproject:technology.linux-distros}}
| + | This page has been deleted. |
− | {{Linux_Tools}}
| + | |
− | == Overview ==
| + | |
| | | |
− | LTTng is a tracer for Linux that has the capability to generate traces (from the kernel or an application) at a high rate 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).
| + | Refer to the [http://wiki.eclipse.org/Linux_Tools_Project/LTTng2/User_Guide User Guide] for the LTTng Eclipse integration installation and usage. |
| | | |
− | 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 legacy (pre v2.0) User Guide can be found [http://wiki.eclipse.org/Linux_Tools_Project/LTTng/User_Guide here]. |
− | | + | |
− | The project is being delivered in two components:
| + | |
− | * A Tracing and Monitoring Framework (TMF), a tracing tool-agnostic component that facilitates their integration in Eclipse<!-- TMF, in the Eclipse world, stands for [http://www.eclipse.org/proposals/tmf/ Textual Modeling Framework], so the Tracing and Monitoring Framework became known as...? -->
| + | |
− | * 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
| + | |
− | * Trace 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 expressions, ...)
| + | |
− | | + | |
− | 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 current release (v0.2.0) implements the following features:
| + | |
− | | + | |
− | ==== LTTng Perspective ====
| + | |
− | | + | |
− | * Project View
| + | |
− | * Histogram View
| + | |
− | * Time Frame View
| + | |
− | * Events View
| + | |
− | * Control Flow View
| + | |
− | * Resources View
| + | |
− | * Statistics View
| + | |
− | * View Synchronization
| + | |
− | | + | |
− | ==== LTTng structure ====
| + | |
− | | + | |
− | * [http://java.sun.com/docs/books/jni/ JNI] integration of the C library
| + | |
− | * First integration of the LTTV State Provider
| + | |
− | * Integrated Help
| + | |
− | | + | |
− | ==== Tracing and Monitoring Framework (TMF) ====
| + | |
− | | + | |
− | * Generic Event model
| + | |
− | * Generic Trace model
| + | |
− | * Support for arbitrarily large traces
| + | |
− | * Support for custom trace parsers
| + | |
− | * Concurrent Data Request handling
| + | |
− | * Generic Events View
| + | |
− | | + | |
− | ==== Limitations ====
| + | |
− | | + | |
− | * Homogeneous LTTng trace support only
| + | |
− | | + | |
− | ==== Configurations ====
| + | |
− | | + | |
− | The following LTTng trace formats are supported:
| + | |
− | | + | |
− | * v 2.3
| + | |
− | * v 2.5
| + | |
− | * v 2.6
| + | |
− | | + | |
− | == Future Plans ==
| + | |
− | | + | |
− | Current development effort is focused on supporting LTTng 2.0 and CTF traces.
| + | |
− | | + | |
− | == Setup development environment ==
| + | |
− | | + | |
− | Some dependencies are required for LTTng. Follow [[Linux Tools Project/LTTng Eclipse Plug-in Development Environement Setup|LTTng Eclipse Plug-in Development Environement Setup]]
| + | |
− | | + | |
− | == Screenshots ==
| + | |
− | | + | |
− | [[Image:LTTngPerspective.png]]
| + | |
− | | + | |
− | LTTng Perspective
| + | |
− | | + | |
− | == Video Demo ==
| + | |
− | | + | |
− | Coming (not so) soon.
| + | |
− | | + | |
− | == Try it out ==
| + | |
− | | + | |
− | LTTng is not yet part of the Linux Tools delivery train. To give it a try, you will need to:
| + | |
− | * Checkout the plugins from the SVN repository
| + | |
− | * Download and install the LTTng parser library
| + | |
− | | + | |
− | For good measure, you should also consider downloading some sample LTTng traces (because they work :-)
| + | |
− | | + | |
− | Note that this currently only works for Linux.
| + | |
− | | + | |
− | ==== Downloading LTTng and TMF plugins ====
| + | |
− | | + | |
− | You can check the project plugins out of SVN from eclipse.org at svn://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools.
| + | |
− | | + | |
− | You will need the following plugins under lttng/trunk:
| + | |
− | * org.eclipse.linuxtools.lttng
| + | |
− | * org.eclipse.linuxtools.lttng.help
| + | |
− | * org.eclipse.linuxtools.lttng.jni
| + | |
− | * org.eclipse.linuxtools.lttng.ui
| + | |
− | * org.eclipse.linuxtools.tmf
| + | |
− | * org.eclipse.linuxtools.tmf.ui
| + | |
− | | + | |
− | ==== Downloading and installing the LTTng parser library ====
| + | |
− | | + | |
− | LTTV comes with a very efficient parsing library (in C) which was not re-implemented in Java for this project. Instead, the library is simply integrated using JNI.
| + | |
− | | + | |
− | This library is not delivered as part of Eclipse (licensing stuff) and has to be downloaded from the LTTng site, compiled and then installed.
| + | |
− | | + | |
− | To parse both 2.5 and 2.6 format LTTng traces, grab a snapshot (click the "snapshot" link next to the latest commit) of the following two git refs:
| + | |
− | | + | |
− | * http://git.dorsal.polymtl.ca/?p=liblttngtrace.git;a=shortlog;h=refs/heads/traceformat-2.5
| + | |
− | * http://git.dorsal.polymtl.ca/?p=liblttngtrace.git;a=shortlog;h=refs/heads/traceformat-2.6
| + | |
− | | + | |
− | Build and install the 2.5 snapshot first, then the 2.6 snapshot. You should run, from within each traceformat directory:
| + | |
− | | + | |
− | <pre>
| + | |
− | $ ./autogen.sh --with-jni-interface --without-lttv && make
| + | |
− | # make install
| + | |
− | </pre>
| + | |
− | | + | |
− | You will end up with something like:
| + | |
− | | + | |
− | <pre>
| + | |
− | $ ls -l1 /usr/local/lib
| + | |
− | total 1048
| + | |
− | -rwxr-xr-x. 1 root root 210300 2010-06-07 11:24 liblttvtraceread-2.5.so
| + | |
− | -rwxr-xr-x. 1 root root 211052 2010-06-07 11:25 liblttvtraceread-2.6.so
| + | |
− | -rw-r--r--. 1 root root 316040 2010-06-07 11:25 liblttvtraceread.a
| + | |
− | -rwxr-xr-x. 1 root root 1175 2010-06-07 11:25 liblttvtraceread.la
| + | |
− | -rwxr-xr-x. 1 root root 93963 2010-06-07 11:24 liblttvtraceread_loader-2.5.so
| + | |
− | -rwxr-xr-x. 1 root root 93963 2010-06-07 11:25 liblttvtraceread_loader-2.6.so
| + | |
− | -rw-r--r--. 1 root root 125442 2010-06-07 11:25 liblttvtraceread_loader.a
| + | |
− | -rwxr-xr-x. 1 root root 1224 2010-06-07 11:25 liblttvtraceread_loader.la
| + | |
− | lrwxrwxrwx. 1 root root 30 2010-06-07 11:25 liblttvtraceread_loader.so -> liblttvtraceread_loader-2.6.so
| + | |
− | lrwxrwxrwx. 1 root root 23 2010-06-07 11:25 liblttvtraceread.so -> liblttvtraceread-2.6.so
| + | |
− | </pre>
| + | |
− | | + | |
− | To use these built libraries, start Eclipse with them on LD_LIBRARY_PATH:
| + | |
− | | + | |
− | <pre>
| + | |
− | LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" ./eclipse
| + | |
− | </pre>
| + | |
− | | + | |
− | The full installation procedure can be found in the LTTng User Guide. In Eclipse, switch to Help (Help > Help Contents) and open the LTTng User Guide. Follow the installation procedure from the "Getting Started/Installing the LTTng parsing library" page.
| + | |
− | | + | |
− | Note that you need the org.eclipse.linuxtools.lttng.help plugin to access that User Guide.
| + | |
− | | + | |
− | ==== Sample LTTng traces ====
| + | |
− | | + | |
− | In Eclipse, switch to Help (Help > Help Contents) and open the LTTng User Guide. You can download sample traces from the "Getting Started/Samples" page.
| + | |
This page has been deleted.