Skip to content

The lttng-tools project provides a session daemon (lttng-sessiond) that acts as a tracing registry, the "lttng" command line for tracing control, a lttng-ctl library for tracing control and a lttng-relayd for network streaming.

License

Notifications You must be signed in to change notification settings

simar7/lttng-tools

Repository files navigation

LTTng Trace Control
----------------

Please visit http://lttng.org for more information.

Latest development can be found at:

    * Gitweb :  http://git.lttng.org/lttng-tools.git/
    * Git :     git://git.lttng.org/lttng-tools.git

REQUIREMENTS:

	- Linux kernel >= 2.6.27
	  pipe2(), epoll_create1() and SOCK_CLOEXEC are needed to run the session
	  daemon. There were introduce in the Linux 2.6.27

    - liburcu
      Userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney

      -> Tested with liburcu >= v0.7.2

      * Debian/Ubuntu package: liburcu-dev
      * Git : git://git.lttng.org/userspace-rcu.git
      * Website:  http://lttng.org/urcu

    - libpopt >= 1.13
      Library for parsing command line parameters

      * Debian/Ubuntu package: libpopt-dev

    - Perl (optional)
      Needed for make check and tests.

    - SWIG >= 2.0 (optional)
      Needed for Python bindings (--enable-python-bindings).

      * Debian/Ubuntu package: swig2.0

    - python-dev (optional)
      Python headers

      * Debian/Ubuntu package: python-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 http://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.

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
      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 (lttng.h --> installed in $(includedir)/lttng/lttng.h)
      The liblttngctl API header file.

    - tests
      Various test programs.

	- doc
	  Various documentations and quickstart guide.

	- extras
	  Contains extra data such as bash completion file.

About

The lttng-tools project provides a session daemon (lttng-sessiond) that acts as a tracing registry, the "lttng" command line for tracing control, a lttng-ctl library for tracing control and a lttng-relayd for network streaming.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published