LTTng Trace Control ---------------- Please visit https://lttng.org for more information. The current maintainer is David Goulet . Latest development can be found at: * Gitweb : https://git.lttng.org/?p=lttng-tools.git;a=summary * Git : git://git.lttng.org/lttng-tools.git REQUIREMENTS: - Linux kernel >= 2.6.27 For epoll() support, at least this version is needed. However, poll() is also supported by running "./configure --disable-epoll". Using that, the kernel version can 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 -> Tested with liburcu 0.8.x stable. * Debian/Ubuntu package: liburcu-dev * Git : git://git.lttng.org/userspace-rcu.git * Website: https://lttng.org/urcu - libpopt >= 1.13 Library for parsing command line parameters * Debian/Ubuntu package: libpopt-dev - libuuid Universally unique id library * Debian/Ubuntu package: uuid-dev - Babeltrace (optional) Trace viewer. Enable the use of "lttng view" command * Debian/Ubuntu package: babeltrace - libxml2 >= 2.7.6 XML document parsing library. * Debian/Ubuntu package: libxml2-dev - Perl (optional) Needed for make check and tests. - Python >= 3.0 (optional) Needed for make check and tests. * Debian/Ubuntu package: python3 - SWIG >= 2.0 (optional) Needed for Python bindings (--enable-python-bindings). * Debian/Ubuntu package: swig2.0 - python-dev (optional) Python headers * Debian/Ubuntu package: python3-dev - For kernel tracing: modprobe - bash Needed for running "make check". For developers using the git tree: 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 (for more information, go to https://www.gnu.org/software/autoconf/) - 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 we hit a known bug documented at: http://sourceware.org/bugzilla/show_bug.cgi?id=11317) Be advise that with GNU gold, you'll might have to specify -L/usr/local/lib in LDFLAGS. If you get the tree from the repository, you will need to use the "bootstrap" script in the root of the tree. It calls all the GNU tools needed to prepare the tree configuration. INSTALLATION INSTRUCTIONS: - Download, compile and install the prerequisites. Then: $ ./boostrap $ ./configure $ make $ sudo make install $ sudo ldconfig If compiling from the git repository, run ./bootstrap before running the configure script, to generate it. If you want Python bindings, run ./configure --enable-python-bindings. 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" USAGE: Please see doc/quickstart.txt to help you start tracing. You can also use the -h/--help command on 'lttng' and all other commands offered in this tool (Ex: lttng enable-event -h). A network streaming HOWTO can be found in doc/streaming-howto.txt which quickly helps you understand how to stream a LTTng 2.0 trace. A Python HOWTO can be found in doc/python-howto.txt which quickly helps you understand how to use the Python module to control the LTTng API. PACKAGE CONTENTS: This package contains the following elements: - liblttng-ctl (public API) The LTTng tracing control library. - libsessiond-comm (internal) The lttng-sessiond communication library. In order to talk with lttng-sessiond, this library must be used. - libkernel-ctl (internal) Kernel tracer control and ioctl definitions. - libconsumer (internal) Library for Kernel and (optionally) UST trace consumer. - libkernel-consumer (internal) Library for Kernel consumer control - libust-consumer (internal) Library for UST consumer control - libhashtable (internal) Library wrapper over URCU hashtables. - libcommon (internal) Contains multiple useful function call used by the whole tree. - libcompat (internal) Compatibility library mostly for FreeBSD and Linux. - librelayd (internal) Library for all relayd interactions over the network. - lttng-relayd The relay daemon used for network streaming - lttng-consumerd The consumer daemon which uses libconsumer. - lttng-sessiond The LTTng session daemon binary. - lttng The LTTng tracer command line control tool. - include (installed in $(includedir)/lttng/) The liblttngctl API header file. - tests Various test programs. - doc Various documentations and quickstart guide. - extras Contains extra data such as bash completion file. Note: the presence of xmllint is required for bash-completion. Python bindings for liblttng-ctl are also available there.