3e594a52c617dde18bc833717f1d1cc8beb6768b
[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 - libxml2 >= 2.7.6
45 XML document parsing library.
46
47 * Debian/Ubuntu package: libxml2-dev
48
49 - Perl (optional)
50 Needed for make check and tests.
51
52 - Python >= 3.0 (optional)
53 Needed for make check and tests.
54
55 * Debian/Ubuntu package: python3
56
57 - SWIG >= 2.0 (optional)
58 Needed for Python bindings (--enable-python-bindings).
59
60 * Debian/Ubuntu package: swig2.0
61
62 - python-dev (optional)
63 Python headers
64
65 * Debian/Ubuntu package: python3-dev
66
67 - For kernel tracing: modprobe
68
69 - bash
70 Needed for running "make check".
71
72 For developers using the git tree:
73
74 This source tree is based on the autotools suite from GNU to simplify
75 portability. Here are some things you should have on your system in order to
76 compile the git repository tree :
77
78 - GNU autotools (automake >=1.10, autoconf >=2.50, autoheader >=2.50)
79 (make sure your system wide "automake" points to a recent version!)
80 - GNU Libtool >=2.2
81 (for more information, go to https://www.gnu.org/software/autoconf/)
82 - flex >= 2.5.35
83 - bison >= 2.4
84
85 If you use GNU gold, which is NOT mandatory, make sure you have this version:
86 - GNU gold >= 2.22
87 (Before this version we hit a known bug documented at:
88 http://sourceware.org/bugzilla/show_bug.cgi?id=11317)
89 Be advise that with GNU gold, you'll might have to specify -L/usr/local/lib in
90 LDFLAGS.
91
92 If you get the tree from the repository, you will need to use the "bootstrap"
93 script in the root of the tree. It calls all the GNU tools needed to prepare
94 the tree configuration.
95
96 INSTALLATION INSTRUCTIONS:
97
98 - Download, compile and install the prerequisites.
99 Then:
100 $ ./boostrap
101 $ ./configure
102 $ make
103 $ sudo make install
104 $ sudo ldconfig
105
106 If compiling from the git repository, run ./bootstrap before running
107 the configure script, to generate it.
108
109 If you want Python bindings, run ./configure --enable-python-bindings.
110 Please note that some distributions will need the following
111 environment variables set before running configure:
112
113 export PYTHON="python3"
114 export PYTHON_CONFIG="/usr/bin/python3-config"
115
116 USAGE:
117
118 Please see doc/quickstart.txt to help you start tracing. You can also use the
119 -h/--help command on 'lttng' and all other commands offered in this tool (Ex:
120 lttng enable-event -h).
121
122 A network streaming HOWTO can be found in doc/streaming-howto.txt which quickly
123 helps you understand how to stream a LTTng 2.0 trace.
124
125 A Python HOWTO can be found in doc/python-howto.txt which quickly
126 helps you understand how to use the Python module to control the LTTng API.
127
128 PACKAGE CONTENTS:
129
130 This package contains the following elements:
131
132 - liblttng-ctl (public API)
133 The LTTng tracing control library.
134
135 - libsessiond-comm (internal)
136 The lttng-sessiond communication library. In order to talk with
137 lttng-sessiond, this library must be used.
138
139 - libkernel-ctl (internal)
140 Kernel tracer control and ioctl definitions.
141
142 - libconsumer (internal)
143 Library for Kernel and (optionally) UST trace consumer.
144
145 - libkernel-consumer (internal)
146 Library for Kernel consumer control
147
148 - libust-consumer (internal)
149 Library for UST consumer control
150
151 - libhashtable (internal)
152 Library wrapper over URCU hashtables.
153
154 - libcommon (internal)
155 Contains multiple useful function call used by the whole tree.
156
157 - libcompat (internal)
158 Compatibility library mostly for FreeBSD and Linux.
159
160 - librelayd (internal)
161 Library for all relayd interactions over the network.
162
163 - lttng-relayd
164 The relay daemon used for network streaming
165
166 - lttng-consumerd
167 The consumer daemon which uses libconsumer.
168
169 - lttng-sessiond
170 The LTTng session daemon binary.
171
172 - lttng
173 The LTTng tracer command line control tool.
174
175 - include (installed in $(includedir)/lttng/)
176 The liblttngctl API header file.
177
178 - tests
179 Various test programs.
180
181 - doc
182 Various documentations and quickstart guide.
183
184 - extras
185 Contains extra data such as bash completion file. Python bindings for
186 liblttng-ctl are also available there.
This page took 0.046031 seconds and 3 git commands to generate.