X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=README;h=716ae1f8a7f53744bd7022247d7d5c20eec53303;hp=a9b6dcb8c0b82ac92d47a42b669e59094b31195e;hb=7335fad67f8c47c2339b82e0dcbf36b28dc1e6a8;hpb=fac6795d6e2c60e79bdc7dab42da94d2025a57d3 diff --git a/README b/README index a9b6dcb8c..716ae1f8a 100644 --- a/README +++ b/README @@ -1,71 +1,187 @@ LTTng Trace Control ---------------- -Please visit http://lttng.org for more information. +Please visit https://lttng.org for more information. The current maintainer is +David Goulet . Latest development can be found at: - * Gitweb : http://git.lttng.org/lttng-tools.git/ - * Git : git://git.lttng.org/lttng-tools.git + * Gitweb : https://git.lttng.org/?p=lttng-tools.git;a=summary + * Git : git://git.lttng.org/lttng-tools.git -PREREQUISITES: +REQUIREMENTS: - - libuuid - Universally unique id library - headers and static libraries libuuid - generates and parses 128-bit universally unique ids (UUIDs). See RFC - 4122 for more information. + - 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. - * Debian/Ubuntu package: uuid-dev + - liburcu + Userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney - - liburcu - Userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney - - -> Tested with liburcu >= v0.5.4 + -> Tested with liburcu 0.7.x stable. - * Debian/Ubuntu package: liburcu-dev - * Git : git://lttng.org/userspace-rcu.git - * Website: http://lttng.org/urcu + * Debian/Ubuntu package: liburcu-dev + * Git : git://git.lttng.org/userspace-rcu.git + * Website: https://lttng.org/urcu - - libustctl - LTTng user-space tracer control library + - libpopt >= 1.13 + Library for parsing command line parameters - Needed for interaction with that tracer. + * Debian/Ubuntu package: libpopt-dev - - liblttctl - LTTng kernel tracer control library + - libuuid + Universally unique id library - Needed for interaction with that tracer. + * 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 liburcu, libuuid, libustctl and liblttctl - - In this package's tree, run ./configure. - - Run make. - - Run make install. - - Run ldconfig. + - 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: + 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. - - liblttngctl - The LTTng trace control library. + - lttng-sessiond + The LTTng session daemon binary. - - liblttsessiondcomm - The ltt-sessiond communication library. In order to talk with ltt-sessiond, - thi library must be used. + - lttng + The LTTng tracer command line control tool. - - ltt-sessiond - The LTTng session daemon binary. + - include (installed in $(includedir)/lttng/) + The liblttngctl API header file. - - lttng - The LTTng tracer command line control tool. + - tests + Various test programs. - - include - The liblttngctl API header file. + - doc + Various documentations and quickstart guide. - - tests - Various test programs. + - 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.