b2177596f58015dbfb5ba5c378e6727df19e067b
[lttng-tools.git] / README
1 LTTng Trace Control
2 ----------------
3
4 Please visit https://lttng.org for more information. The current maintainer is
5 David Goulet <dgoulet@efficios.com>.
6
7 Latest development can be found at:
8
9 * Gitweb : https://git.lttng.org/?p=lttng-tools.git;a=summary
10 * Git : git://git.lttng.org/lttng-tools.git
11
12 REQUIREMENTS:
13
14 - Linux kernel >= 2.6.27
15 For epoll() support, at least this version is needed. However, poll() is
16 also supported by running "./configure --disable-epoll". Using that, the
17 kernel version can probably be older but we can't provide any guarantee.
18 Please let us know if you are able to go lower without any problems.
19
20 - liburcu
21 Userspace RCU library, by Mathieu Desnoyers and Paul E. McKenney
22
23 -> Tested with liburcu 0.7.x stable.
24
25 * Debian/Ubuntu package: liburcu-dev
26 * Git : git://git.lttng.org/userspace-rcu.git
27 * Website: https://lttng.org/urcu
28
29 - libpopt >= 1.13
30 Library for parsing command line parameters
31
32 * Debian/Ubuntu package: libpopt-dev
33
34 - libuuid
35 Universally unique id library
36
37 * Debian/Ubuntu package: uuid-dev
38
39 - Babeltrace (optional)
40 Trace viewer. Enable the use of "lttng view" command
41
42 * Debian/Ubuntu package: babeltrace
43
44 - Perl (optional)
45 Needed for make check and tests.
46
47 - Python >= 3.0 (optional)
48 Needed for make check and tests.
49
50 * Debian/Ubuntu package: python3
51
52 - SWIG >= 2.0 (optional)
53 Needed for Python bindings (--enable-python-bindings).
54
55 * Debian/Ubuntu package: swig2.0
56
57 - python-dev (optional)
58 Python headers
59
60 * Debian/Ubuntu package: python3-dev
61
62 - For kernel tracing: modprobe
63
64 - bash
65 Needed for running "make check".
66
67 For developers using the git tree:
68
69 This source tree is based on the autotools suite from GNU to simplify
70 portability. Here are some things you should have on your system in order to
71 compile the git repository tree :
72
73 - GNU autotools (automake >=1.10, autoconf >=2.50, autoheader >=2.50)
74 (make sure your system wide "automake" points to a recent version!)
75 - GNU Libtool >=2.2
76 (for more information, go to https://www.gnu.org/software/autoconf/)
77 - flex >= 2.5.35
78 - bison >= 2.4
79
80 If you use GNU gold, which is NOT mandatory, make sure you have this version:
81 - GNU gold >= 2.22
82 (Before this version we hit a known bug documented at:
83 http://sourceware.org/bugzilla/show_bug.cgi?id=11317)
84 Be advise that with GNU gold, you'll might have to specify -L/usr/local/lib in
85 LDFLAGS.
86
87 If you get the tree from the repository, you will need to use the "bootstrap"
88 script in the root of the tree. It calls all the GNU tools needed to prepare
89 the tree configuration.
90
91 INSTALLATION INSTRUCTIONS:
92
93 - Download, compile and install the prerequisites.
94 Then:
95 $ ./boostrap
96 $ ./configure
97 $ make
98 $ sudo make install
99 $ sudo ldconfig
100
101 If compiling from the git repository, run ./bootstrap before running
102 the configure script, to generate it.
103
104 If you want Python bindings, run ./configure --enable-python-bindings.
105 Please note that some distributions will need the following
106 environment variables set before running configure:
107
108 export PYTHON="python3"
109 export PYTHON_CONFIG="/usr/bin/python3-config"
110
111 USAGE:
112
113 Please see doc/quickstart.txt to help you start tracing. You can also use the
114 -h/--help command on 'lttng' and all other commands offered in this tool (Ex:
115 lttng enable-event -h).
116
117 A network streaming HOWTO can be found in doc/streaming-howto.txt which quickly
118 helps you understand how to stream a LTTng 2.0 trace.
119
120 A Python HOWTO can be found in doc/python-howto.txt which quickly
121 helps you understand how to use the Python module to control the LTTng API.
122
123 PACKAGE CONTENTS:
124
125 This package contains the following elements:
126
127 - liblttng-ctl (public API)
128 The LTTng tracing control library.
129
130 - libsessiond-comm (internal)
131 The lttng-sessiond communication library. In order to talk with
132 lttng-sessiond, this library must be used.
133
134 - libkernel-ctl (internal)
135 Kernel tracer control and ioctl definitions.
136
137 - libconsumer (internal)
138 Library for Kernel and (optionally) UST trace consumer.
139
140 - libkernel-consumer (internal)
141 Library for Kernel consumer control
142
143 - libust-consumer (internal)
144 Library for UST consumer control
145
146 - libhashtable (internal)
147 Library wrapper over URCU hashtables.
148
149 - libcommon (internal)
150 Contains multiple useful function call used by the whole tree.
151
152 - libcompat (internal)
153 Compatibility library mostly for FreeBSD and Linux.
154
155 - librelayd (internal)
156 Library for all relayd interactions over the network.
157
158 - lttng-relayd
159 The relay daemon used for network streaming
160
161 - lttng-consumerd
162 The consumer daemon which uses libconsumer.
163
164 - lttng-sessiond
165 The LTTng session daemon binary.
166
167 - lttng
168 The LTTng tracer command line control tool.
169
170 - include (installed in $(includedir)/lttng/)
171 The liblttngctl API header file.
172
173 - tests
174 Various test programs.
175
176 - doc
177 Various documentations and quickstart guide.
178
179 - extras
180 Contains extra data such as bash completion file. Python bindings for
181 liblttng-ctl are also available there.
This page took 0.045108 seconds and 3 git commands to generate.