forked from simar7/lttng-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
176 lines (121 loc) · 4.97 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
LTTng Trace Control
----------------
Please visit https://lttng.org for more information. The current maintainer is
David Goulet <[email protected]>.
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.