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