Skip to content

This repo is a mirror of the official lttng-tools git found at git://git.lttng.org/lttng-tools.git. 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

MatthewKhouzam/lttng-tools

 
 

Repository files navigation

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

Please visit https://lttng.org for more information. The current maintainer is
David Goulet <dgoulet@efficios.com>.

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
      Userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney

      -> Tested with liburcu 0.7.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

    - 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. Python bindings for
	  liblttng-ctl are also available there.

About

This repo is a mirror of the official lttng-tools git found at git://git.lttng.org/lttng-tools.git. 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

Languages

  • C 84.7%
  • Shell 8.0%
  • Perl 4.5%
  • Python 2.4%
  • C++ 0.4%