LTTng-tools is a set of tools to control LTTng
tracing. The project includes the LTTng session daemon, consumer damon
and relay daemon, as well as liblttng-ctl
, a C library used to
communicate with the session daemon, and lttng
, a command line
interface to liblttng-ctl
.
The following items are required to build and run LTTng-tools components:
- Linux kernel >= 2.6.27: for
epoll()
support, at least this version is needed. However,poll()
is also supported by configuring LTTng-tools with the--disable-epoll
option. Using that, the kernel version may probably be older, but we can't provide any guarantee. Please let us know if you are able to go lower without any problems. liburcu
>= 0.8.0: userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney.libpopt
>= 1.13: command line arguments parsing library.- Debian/Ubuntu package:
libpopt-dev
- Debian/Ubuntu package:
libuuid
: universally unique ID library- Debian/Ubuntu package:
uuid-dev
- Debian/Ubuntu package:
The following items are optional dependencies:
- Babeltrace: trace viewer.
Enables the use of
lttng view
command.- Debian/Ubuntu package:
babeltrace
- Debian/Ubuntu package:
libxml2
>= 2.7.6: XML document parsing library. Needed for tracing session configuration saving/loading and machine interface output support.- Debian/Ubuntu package:
libxml2-dev
- Debian/Ubuntu package:
- Perl: needed for
make check
and tests. - Python >= 3.0: needed for
make check
and tests.- Debian/Ubuntu package:
python3
- Debian/Ubuntu package:
- SWIG >= 2.0 and Python 3 development headers: needed for
Python bindings
(enabled at configure time with the
--enable-python-bindings
option).- Debian/Ubuntu packages:
swig2.0
andpython3-dev
- Debian/Ubuntu packages:
- modprobe: needed for automatic LTTng kernel modules loading (kernel tracing).
- bash: needed for running
make check
.
This source tree is based on the Autotools suite from GNU to simplify portability. Here are some things you should have on your system in order to compile the Git repository tree:
- GNU Autotools (Automake >= 1.10, Autoconf >= 2.50,
Autoheader >= 2.50; make sure your system-wide
automake
points to a recent version!) - GNU Libtool >= 2.2
- Flex >= 2.5.35
- Bison >= 2.4
If you use GNU gold, which is not mandatory, make sure you have this version:
- GNU gold >= 2.22
Before this version of GNU gold, we hit a
known bug.
Be advised that with GNU gold, you might have to specify
-L/usr/local/lib
in LDFLAGS
.
If you get the tree from the Git repository, you will need to run
./bootstrap
in its root. It calls all the GNU tools needed to prepare the tree configuration.
To build LTTng-tools, do:
./configure
make
sudo make install
sudo ldconfig
If you want Python bindings, add the --enable-python-bindings
option
to configure
. Please note that some distributions will need the
following environment variables set before running configure:
export PYTHON="python3"
export PYTHON_CONFIG="/usr/bin/python3-config"
Please see doc/quickstart.txt
to get started
with LTTng tracing. You can also use the -h
or --help
option of
any lttng
command, e.g.:
lttng enable-event --help
A network streaming HOWTO can be found in
doc/streaming-howto.txt
which quickly
helps you understand how to stream a LTTng 2.x trace.
A Python binding HOWTO can be found in
doc/python-howto.txt
which quickly helps you
understand how to use the Python module to control LTTng.
Maintainer: David Goulet
Mailing list: lttng-dev@lists.lttng.org
This package contains the following elements:
doc
: LTTng-tools documentation.include
: the public header files that will be installed on the system.src/bin
: source code of LTTng-tools programs.lttng-consumerd
: consumer daemon.lttng-relayd
: relay daemon.lttng-sessiond
: session daemon.lttng
: command line interface for LTTng tracing control.
src/common
: common LTTng-tools source code.compat
: compatibility library mostly for FreeBSD and Linux.config
: tracing session configuration saving/loading.hashtable
: library wrapper over Userspace RCU hashtables.health
: health check subsytem.index
: CTF index utilities.kernel-consumer
: Linux kernel consumer.kernel-ctl
: Linux kernel tracer control.relayd
: relay daemon control.sessiond-comm
: session daemon communication.ust-consumer
: user space consumer.
src/lib
: source code of LTTng-tools libraries.lttng-ctl
: LTTng control library.
tests
: various test programs.