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