Fix: action-executor: leak of `work_item::subitems` field
[lttng-tools.git] / doc / man / lttng-relayd.8.txt
CommitLineData
f5595c32
PP
1lttng-relayd(8)
2===============
188419c4
PP
3:revdate: 30 April 2021
4:daemon-bin-name: lttng-relayd
5:daemon-ini-section: relayd
f5595c32
PP
6
7
8NAME
9----
188419c4 10lttng-relayd - LTTng relay daemon
f5595c32
PP
11
12
13SYNOPSIS
14--------
15[verse]
7b7920c8 16*lttng-relayd* [option:--background | option:--daemonize] [option:--config='PATH']
89751b02 17 [option:--control-port='URL'] [option:--data-port='URL'] [option:--fd-pool-size='COUNT']
188419c4
PP
18 [option:--live-port='URL'] [option:--output='DIR'] [option:--group='GROUP']
19 [option:--verbose]... [option:--working-directory='DIR']
20 [option:--group-output-by-host | option:--group-output-by-session] [option:--disallow-clear]
fd00593c 21
f5595c32
PP
22
23DESCRIPTION
24-----------
188419c4 25include::common-intro.txt[]
f5595c32 26
188419c4
PP
27An LTTng relay daemon, `lttng-relayd`, is a program which receives trace
28data from (possibly remote) LTTng session/consumer daemons and which
29writes it to the local file system. The relay daemon also accepts LTTng
30live connections from compatible readers (for example,
31man:babeltrace2(1)); this is the recommended approach to read trace data
32while the remote tracing session is active.
f5595c32 33
188419c4
PP
34By default, a relay daemon listens on all network interfaces to receive
35trace data, but only on `localhost` for LTTng live connections. Override
36the listening URLs with the option:--control-port, option:--data-port,
37and option:--live-port options (see the <<url-format,URL format>>
38section below). For example, use the
39option:--live-port=+tcp://0.0.0.0:{default_network_viewer_port}+ option
40to make a relay daemon listen to LTTng live connections on all network
41interfaces.
f5595c32 42
188419c4
PP
43Once LTTng has completely sent a trace to a relay daemon{nbsp}__RD__,
44any LTTng trace reader can read the trace located on the local file
45system of{nbsp}__RD__.
f5595c32 46
188419c4
PP
47By default, `lttng-relayd` doesn't start as a daemon. Make it a daemon
48with the option:--daemonize or option:--background option. With those
49options, `lttng-relayd` ensures the daemon is listening to incoming
50connections before it exits.
f5595c32 51
188419c4
PP
52
53include::common-daemon-cfg.txt[]
54
55INI configuration file example:
56
57[source,ini]
58----
59[relayd]
60daemonize=yes
61live-port=tcp://0.0.0.0:4567
62disallow-clear=yes
63----
f5595c32
PP
64
65
66[[output-directory]]
67Output directory
68~~~~~~~~~~~~~~~~
fd00593c 69The relay daemon uses different output path patterns depending on:
f5595c32 70
fd00593c 71* Its configuration.
188419c4
PP
72+
73See the <<cfg,Daemon configuration>> section above.
74
75* The tracing session configuration of the connected peer.
76* The LTTng session daemon (see man:lttng-sessiond(8)) version
77 of the connected peer.
f5595c32 78
fd00593c
PP
79Consider the following variables:
80
81'BASE'::
188419c4
PP
82 Base output directory: `$LTTNG_HOME/lttng-traces` (`$LTTNG_HOME`
83 defaults to `$HOME`) or the argument of the option:--output option.
f5595c32
PP
84
85'HOSTNAME'::
188419c4 86 Hostname of the connected peer.
f5595c32
PP
87
88'SESSION'::
fd00593c
PP
89 Tracing session name.
90
91'DATETIME'::
92 Unique tracing session date/time.
f5595c32 93
188419c4
PP
94'TRACEDIR'::
95 Custom trace directory path ('TRACEDIR' part of the argument of the
96 nloption:--set-url option of the man:lttng-create(1) command, if
97 any).
98
99'SESSIONDV'::
100 The version of the LTTng session daemon of the connected peer.
f5595c32 101
fd00593c
PP
102The relay daemon output path patterns are:
103
188419c4
PP
104With the option:--group-output-by-host option (hostname grouping)::
105 Without a custom trace directory:::
fd00593c 106+
fd00593c
PP
107[verse]
108'BASE'/'HOSTNAME'/'SESSION'-'DATETIME'
fd00593c 109
188419c4 110With a custom trace directory:::
fd00593c 111+
fd00593c 112[verse]
188419c4 113'BASE'/'HOSTNAME'/'TRACEDIR'
04dedfc0 114
188419c4
PP
115With the option:--group-output-by-session option (tracing session grouping)::
116 Without a custom trace directory:::
117 'SESSIONDV' is at least{nbsp}2.4::::
fd00593c 118+
04dedfc0 119[verse]
fd00593c 120'BASE'/'SESSION'/'HOSTNAME'-'DATETIME'
04dedfc0 121
fd00593c
PP
122Otherwise::::
123 Defaults to the hostname grouping pattern:
124+
fd00593c
PP
125[verse]
126'BASE'/'HOSTNAME'/'SESSION'-'DATETIME'
04dedfc0 127
188419c4
PP
128With a custom trace directory:::
129 'SESSIONDV' is at least 2.4::::
fd00593c 130+
fd00593c 131[verse]
188419c4 132'BASE'/'SESSION'/'HOSTNAME'-'DATETIME'/'TRACEDIR'
f5595c32 133
fd00593c
PP
134Otherwise::::
135 Defaults to the hostname grouping pattern:
136+
fd00593c 137[verse]
188419c4 138'BASE'/'HOSTNAME'/'TRACEDIR'
04dedfc0 139
f5595c32
PP
140
141[[url-format]]
142URL format
143~~~~~~~~~~
188419c4
PP
144The argument of the option:--control-port='URL',
145option:--data-port='URL', and option:--live-port='URL' options is an
146URL.
f5595c32 147
188419c4 148The format of 'URL' is:
f5595c32
PP
149
150[verse]
151tcp://('HOST' | 'IPADDR'):__PORT__
152
153with:
154
155('HOST' | 'IPADDR')::
188419c4
PP
156 Binding hostname or IP address.
157+
158IPv6 address must be enclosed in square brackets (`[` and{nbsp}`]`);
159see https://www.ietf.org/rfc/rfc2732.txt[RFC{nbsp}2732].
f5595c32
PP
160
161'PORT'::
162 TCP port.
163
164
188419c4 165[[options]]
f5595c32
PP
166OPTIONS
167-------
188419c4
PP
168General daemon configuration
169~~~~~~~~~~~~~~~~~~~~~~~~~~~~
f5595c32 170option:-b, option:--background::
188419c4
PP
171 Start as a Unix daemon, but keep file descriptors (console) open.
172+
173With this option, `lttng-relayd` ensures the daemon is listening
174to incoming connections before it exits.
175+
176Use the option:--daemonize option instead to close the file descriptors.
f5595c32 177
7b7920c8 178option:-f 'PATH', option:--config='PATH'::
188419c4
PP
179 Configure the daemon using the INI configuration file 'PATH' in
180 addition to the default configuration files and the command-line
181 options.
182+
183See the <<cfg,Daemon configuration>> section above.
7b7920c8 184
f5595c32 185option:-d, option:--daemonize::
188419c4
PP
186 Start as a Unix daemon and close file descriptors (console).
187+
188With this option, `lttng-relayd` ensures the daemon is listening
189to incoming connections before it exits.
190+
191Use the option:--background option instead to keep the file descriptors
192open.
f5595c32 193
fd00593c
PP
194option:-x, option:--disallow-clear::
195 Disallow clearing operations (see man:lttng-clear(1)).
f5595c32 196+
fd00593c 197See also the `LTTNG_RELAYD_DISALLOW_CLEAR` environment variable.
f5595c32 198
fd00593c 199option:--fd-pool-size='SIZE'::
188419c4 200 Set the size of the file descriptor pool to 'SIZE' file descriptors.
04dedfc0 201+
188419c4
PP
202'SIZE' is the maximum number of file descriptors that the relay daemon
203may keep open simultaneously.
04dedfc0 204+
fd00593c
PP
205Default: the soft `RLIMIT_NOFILE` resource limit of the process (see
206man:getrlimit(2)).
207
208option:-g 'GROUP', option:--group='GROUP'::
188419c4
PP
209 Set the Unix tracing group to 'GROUP' instead of `tracing`.
210+
211This option is only meaningful when the `root` Unix user starts
212`lttng-relayd`.
213+
214Members of the Unix tracing group may connect to the health check socket
215of the relay daemon.
216+
217See also the `LTTNG_RELAYD_HEALTH` environment variable.
04dedfc0 218
188419c4 219option:-w 'DIR', option:--working-directory='DIR'::
fd00593c 220 Set the working directory of the processes the relay daemon creates
188419c4 221 to 'DIR'.
fd00593c
PP
222+
223See also the `LTTNG_RELAYD_WORKING_DIRECTORY` environment variable.
6ab3f69a 224
f5595c32
PP
225option:-v, option:--verbose::
226 Increase verbosity.
227+
188419c4 228Specify this option up to three times to get more levels of verbosity.
f5595c32
PP
229
230
fd00593c
PP
231Output
232~~~~~~
188419c4
PP
233See the <<output-directory,Output directory>> section above to learn
234more.
fd00593c
PP
235
236option:-p, option:--group-output-by-host::
188419c4
PP
237 Group the written trace directories by hostname.
238+
239As of LTTng{nbsp}{lttng_version}, this is the default output grouping
240strategy, but this may change in the future.
fd00593c
PP
241
242option:-s, option:--group-output-by-session::
243 Group the written trace directories by tracing session name instead
244 of by hostname.
245
188419c4 246option:-o 'DIR', option:--output='DIR'::
fd00593c 247 Set the base output directory of the written trace directories to
188419c4 248 'DIR'.
fd00593c
PP
249
250
f5595c32
PP
251Ports
252~~~~~
188419c4
PP
253See the <<url-format,URL format>> section above to learn more about the
254syntax of the 'URL' argument of the following options.
f5595c32 255
59b19c3c 256option:-C 'URL', option:--control-port='URL'::
188419c4
PP
257 Listen to control data on URL 'URL'.
258+
259Default:
260+tcp://{default_network_control_bind_address}:{default_network_control_port}+.
f5595c32 261
59b19c3c 262option:-D 'URL', option:--data-port='URL'::
188419c4
PP
263 Listen to trace data on URL 'URL'.
264+
265Default:
266+tcp://{default_network_data_bind_address}:{default_network_data_port}+.
f5595c32 267
59b19c3c 268option:-L 'URL', option:--live-port='URL'::
188419c4
PP
269 Listen to LTTng live connections on URL 'URL'.
270+
271Default:
272+tcp://{default_network_viewer_bind_address}:{default_network_viewer_port}+.
f5595c32
PP
273
274
275Program information
276~~~~~~~~~~~~~~~~~~~
188419c4 277include::common-help-option.txt[]
f5595c32
PP
278
279option:-V, option:--version::
188419c4 280 Show version and quit.
f5595c32
PP
281
282
283ENVIRONMENT VARIABLES
284---------------------
9bbd8e06 285`LTTNG_ABORT_ON_ERROR`::
188419c4
PP
286 Set to `1` to abort the process after the first error is
287 encountered.
9bbd8e06 288
f5595c32 289`LTTNG_NETWORK_SOCKET_TIMEOUT`::
188419c4
PP
290 Socket connection, receive, and send timeout (milliseconds).
291+
292Set to `0` or `-1` to set an infinite timeout (default).
f5595c32 293
06e1d71f 294`LTTNG_RELAYD_DISALLOW_CLEAR`::
188419c4 295 Set to `1` to disallow clearing operations (see man:lttng-clear(1)).
fd00593c 296+
188419c4 297The option:--disallow-clear option overrides this environment variable.
06e1d71f 298
f5595c32 299`LTTNG_RELAYD_HEALTH`::
188419c4 300 Path to the health check socket of the relay daemon.
f5595c32 301
e0512bf5 302`LTTNG_RELAYD_TCP_KEEP_ALIVE`::
188419c4 303 Set to `1` to enable TCP keep-alive.
e0512bf5
JR
304+
305The TCP keep-alive mechanism allows the detection of dead peers
188419c4
PP
306(man:lttng-sessiond(8)) in cases of unclean termination (for example, a
307hard reset) of a peer.
e0512bf5
JR
308+
309Supported on Linux and Solaris only. The default behaviour of the TCP
310keep-alive mechanism is OS-specific.
311+
188419c4 312Search for `tcp_keepalive` in man:tcp(7) to learn more.
e0512bf5
JR
313
314`LTTNG_RELAYD_TCP_KEEP_ALIVE_ABORT_THRESHOLD`::
188419c4
PP
315 The time threshold (seconds) to abort a TCP connection after the
316 keep-alive probing mechanism has failed.
e0512bf5 317+
188419c4
PP
318Set to `0` or `-1` to use the value chosen by the operating system
319(default).
e0512bf5
JR
320+
321Supported on Solaris 11 only.
322+
188419c4 323Search for `tcp_keepalive_abort_threshold` in man:tcp(7) to learn more.
e0512bf5
JR
324
325`LTTNG_RELAYD_TCP_KEEP_ALIVE_IDLE_TIME`::
326 Number of seconds a connection needs to be idle before TCP begins
327 sending out keep-alive probes.
328+
188419c4
PP
329Set to `0` or `-1` to use the value chosen by the operating system
330(default).
e0512bf5
JR
331+
332Supported on Linux and Solaris 11 only.
333+
188419c4
PP
334On Solaris{nbsp}11, the accepted values are `-1`, `0`, and `10` to
335`864000`.
e0512bf5
JR
336+
337Search for `tcp_keepalive_time` and `tcp_keepalive_interval`
188419c4 338in man:tcp(7) on Solaris{nbsp}11 to learn more.
e0512bf5
JR
339
340`LTTNG_RELAYD_TCP_KEEP_ALIVE_MAX_PROBE_COUNT`::
341 Maximum number of TCP keep-alive probes to send before giving up and
342 killing the connection if no response is obtained from the other end.
343+
188419c4
PP
344Set to `0` or `-1` to use the value chosen by the operating system
345(default).
e0512bf5
JR
346+
347Supported on Linux only.
348+
188419c4 349Search for `tcp_keepalive_probes` in man:tcp(7) to learn more.
e0512bf5
JR
350
351`LTTNG_RELAYD_TCP_KEEP_ALIVE_PROBE_INTERVAL`::
352 Number of seconds between TCP keep-alive probes.
353+
188419c4
PP
354Set to `0` or `-1` to use the value chosen by the operating system
355(default).
e0512bf5
JR
356+
357Supported on Linux only.
358+
188419c4 359Search for `tcp_keepalive_intvl` in man:tcp(7) to learn more.
e0512bf5 360
508a802c 361`LTTNG_RELAYD_WORKING_DIRECTORY`::
fd00593c 362 Working directory of the processes the relay daemon creates.
508a802c 363+
188419c4
PP
364The option:--working-directory option overrides this environment
365variable.
508a802c 366
f5595c32 367
900690ca
PP
368FILES
369-----
370`$LTTNG_HOME/.lttng`::
188419c4 371 Unix user's LTTng runtime and configuration directory.
900690ca
PP
372
373`$LTTNG_HOME/lttng-traces`::
188419c4
PP
374 Default base output directory of LTTng traces.
375+
376Override this path with the option:--output option.
900690ca 377
484b2a0c 378NOTE: `$LTTNG_HOME` defaults to `$HOME`.
900690ca
PP
379
380
f5595c32
PP
381EXIT STATUS
382-----------
383*0*::
384 Success
385
386*1*::
387 Error
388
389*3*::
390 Fatal error
391
392
f5595c32
PP
393include::common-footer.txt[]
394
395
396SEE ALSO
397--------
7c1a4458
PP
398man:lttng(1),
399man:lttng-sessiond(8),
32357a9a 400man:babeltrace2(1)
This page took 0.052424 seconds and 4 git commands to generate.