|
|
(11 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
− | == Overview ==
| + | {{#eclipseproject:technology.linux-distros}} {{Linux_Tools}} |
| | | |
− | LTTng is a tracer for Linux that has the capability to generate a high
| + | This page has been "obsoleted". |
− | volume of traces (from the kernel or an 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.
| + | |
| | | |
− | The scope of this project is to provide an Eclipse integration of LTTng, in
| + | Refer to the [http://wiki.eclipse.org/Linux_Tools_Project/LTTng2/User_Guide User Guide] for the LTTng Eclipse integration installation and usage. |
− | particular its LTTv component which is used to control, fetch and visualize
| + | |
− | the LTTng traces.
| + | |
| | | |
− | The project will be delivered in two components: | + | The legacy (pre v2.0) User Guide can be found [http://wiki.eclipse.org/Linux_Tools_Project/LTTngLegacy/User_Guide here]. |
− | * 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 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 ====
| + | |
− | | + | |
− | * 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 ====
| + | |
− | | + | |
− | * Homogeneous LTTng trace support only
| + | |
− | | + | |
− | ==== Configurations ====
| + | |
− | | + | |
− | The following LTTng traces formats are supported:
| + | |
− | | + | |
− | * v 2.3
| + | |
− | * v2.5
| + | |
− | * v 2.6
| + | |
− | | + | |
− | == Future Plans ==
| + | |
− | | + | |
− | ==== V0.3.0 ====
| + | |
− | | + | |
− | * LTTng Control (remote and local)
| + | |
− | * Parser Generator Wizard
| + | |
− | * Performance improvements
| + | |
− | * Bug fixes :-)
| + | |
− | | + | |
− | == 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 dowloading some sample LTTng traces
| + | |
− | (because they work :-)
| + | |
− | | + | |
− | Note that this currently only works for Linux.
| + | |
− | | + | |
− | ==== Downloading LTTng and TMF plugins ====
| + | |
− | | + | |
− | You can checkout 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
| + | |
− | <br>
| + | |
− | 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:
| + | |
− | | + | |
− | <tt>$ ./autogen.sh --with-jni-interface --without-lttv && make</tt>
| + | |
− | <br>
| + | |
− | <tt># make install</tt>
| + | |
− | | + | |
− | 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:
| + | |
− | | + | |
− | <tt>LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" ./eclipse</tt>
| + | |
− | | + | |
− | The full installation procedure can be found in the 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 the 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 "obsoleted".