Backport: LTTNG-RELAYD(8): document the --fd-pool-size option
[lttng-tools.git] / doc / man / lttng-relayd.8.txt
CommitLineData
f5595c32
PP
1lttng-relayd(8)
2===============
3
4
5NAME
6----
7lttng-relayd - LTTng 2 relay daemon
8
9
10SYNOPSIS
11--------
12[verse]
13*lttng-relayd* [option:--background | option:--daemonize]
950b6696
JG
14 [option:--control-port='URL'] [option:--data-port='URL'] [option:--fd-pool-size='COUNT']
15 [option:--live-port='URL'] [option:--output='PATH']
16 [option:-v | option:-vv | option:-vvv] [option:--working-directory='PATH']
f5595c32
PP
17
18
19DESCRIPTION
20-----------
21The http://lttng.org/[_Linux Trace Toolkit: next generation_] is an open
22source software package used for correlated tracing of the Linux kernel,
23user applications, and user libraries.
24
25LTTng consists of Linux kernel modules (for Linux kernel tracing) and
26dynamically loaded libraries (for user application and library tracing).
27
28The _LTTng relay daemon_ is responsible for receiving trace data from
29possibly remote LTTng session/consumer daemons and for writing it to
30the local file system. The relay daemon also accepts _LTTng live_
31connections from compatible viewers; this is the official approach to
32viewing LTTng events as they are emitted.
33
34The relay daemon listens by default on all network interfaces to gather
35trace data, but only on localhost for LTTng live connections.
36
37The relay daemon does not require any particular permissions, as long as
38it can write to the output directory and listen on the configured ports.
39If a user is within a secured network and/or has proper firewall
40settings, `lttng-relayd` can listen to LTTng live connections from _all_
c93eadad
PP
41network interfaces by specifying
42+--live-port=tcp://{default_network_viewer_bind_address}:{default_network_viewer_port}+.
f5595c32
PP
43
44Once a trace has been streamed completely, the trace can be processed by
45any tool that can process an LTTng trace located on the local
46file system.
47
48
49[[output-directory]]
50Output directory
51~~~~~~~~~~~~~~~~
bde52aed
JR
52By default (option:--group-output-by-host), the relay daemon writes the traces
53to:
f5595c32
PP
54
55[verse]
2ff6d569 56$LTTNG_HOME/lttng-traces/'HOSTNAME'/'SESSION'/'DOMAIN'
f5595c32
PP
57
58with:
59
60'HOSTNAME'::
61 Remote hostname.
62
63'SESSION'::
64 Full session name.
65
66'DOMAIN'::
67 Tracing domain.
68
bde52aed
JR
69You can group the output per session instead of per hostname with the
70option:--group-output-by-session option. This result in the following:
71
72[verse]
73
74$LTTNG_HOME/lttng-traces/'SESSION'/'HOST'/'DOMAIN'
75
f5595c32 76You can override the default output directory prefix
2ff6d569 77(`$LTTNG_HOME/lttng-traces`) with the option:--output option. The other
f5595c32
PP
78parts depend on the remote configuration.
79
80
bde52aed 81
f5595c32
PP
82[[url-format]]
83URL format
84~~~~~~~~~~
85The option:--control-port, option:--data-port, and option:--live-port
86options specify URLs.
87
88The format of those URLs is:
89
90[verse]
91tcp://('HOST' | 'IPADDR'):__PORT__
92
93with:
94
95('HOST' | 'IPADDR')::
96 Binding hostname or IP address (IPv6 address *must* be enclosed in
97 brackets (`[` and `]`); see
98 https://www.ietf.org/rfc/rfc2732.txt[RFC 2732]).
99
100'PORT'::
101 TCP port.
102
103
104OPTIONS
105-------
106Daemon
107~~~~~~
108option:-b, option:--background::
109 Start as Unix daemon, but keep file descriptors (console) open.
110 Use the option:--daemonize option instead to close the file
111 descriptors.
112
113option:-d, option:--daemonize::
114 Start as Unix daemon, and close file descriptors (console). Use the
115 option:--background option instead to keep the file descriptors
116 open.
117
950b6696
JG
118option:--fd-pool-size='COUNT'::
119 Set the size of the file descritptor pool. This effectively sets a
120 limit on the number of file descriptors that may be kept open
121 simultaneously by the daemon (default: the soft RLIMIT_NOFILE resource
122 limit of the process).
123
28f32bdf 124option:-g 'GROUP', option:--group='GROUP'::
f5595c32
PP
125 Use 'GROUP' as Unix tracing group (default: `tracing`).
126
28f32bdf 127option:-o 'PATH', option:--output='PATH'::
f5595c32
PP
128 Set base directory of written trace data to 'PATH'.
129+
130See the <<output-directory,Output directory>> section above for more
131information.
132
bde52aed
JR
133option:-p, option:--group-output-by-host::
134 Organize the output directory by host. Default behavior.
135+
136See the <<output-directory,Output directory>> section above for more
137information.
138
139option:-s, option:--group-output-by-session::
140 Organize the output directory by session.
141+
142See the <<output-directory,Output directory>> section above for more
143information.
0c2d8bff 144
f5595c32
PP
145option:-v, option:--verbose::
146 Increase verbosity.
bde52aed
JR
147
148option:-w 'PATH', option:--working-directory='PATH'::
149 Set the working directory of the processes this relay daemon creates.
f5595c32
PP
150+
151Three levels of verbosity are available, which are triggered by
152appending additional `v` letters to the option
153(that is, `-vv` and `-vvv`).
154
155
156Ports
157~~~~~
158See the <<url-format,URL format>> section above for more information
159about the syntax of the following options' 'URL' argument.
160
28f32bdf 161option:-C 'URL', option:--control-port='URL'::
c93eadad
PP
162 Listen to control data on URL 'URL' (default:
163 +tcp://{default_network_control_bind_address}:{default_network_control_port}+).
f5595c32 164
28f32bdf 165option:-D 'URL', option:--data-port='URL'::
c93eadad
PP
166 Listen to trace data on URL 'URL' (default:
167 +tcp://{default_network_data_bind_address}:{default_network_data_port}+).
f5595c32 168
28f32bdf 169option:-L 'URL', option:--live-port='URL'::
f5595c32 170 Listen to LTTng live connections on URL 'URL'
c93eadad
PP
171 (default:
172 +tcp://{default_network_viewer_bind_address}:{default_network_viewer_port}+).
f5595c32
PP
173
174
175Program information
176~~~~~~~~~~~~~~~~~~~
177option:-h, option:--help::
178 Show help.
179
180option:-V, option:--version::
181 Show version.
182
183
184ENVIRONMENT VARIABLES
185---------------------
9bbd8e06
MD
186`LTTNG_ABORT_ON_ERROR`::
187 Set to 1 to abort the process after the first error is encountered.
188
f5595c32
PP
189`LTTNG_NETWORK_SOCKET_TIMEOUT`::
190 Socket connection, receive and send timeout (milliseconds). A value
191 of 0 or -1 uses the timeout of the operating system (default).
192
193`LTTNG_RELAYD_HEALTH`::
194 Path to relay daemon health's socket.
195
f5adfb35
JR
196`LTTNG_RELAYD_TCP_KEEP_ALIVE`::
197 Set to 1 to enable TCP keep-alive.
198+
199The TCP keep-alive mechanism allows the detection of dead peers
200(man:lttng-sessiond(8)) in cases of unclean termination
201(for example, a hard reset) of a peer.
202+
203Supported on Linux and Solaris only. The default behaviour of the TCP
204keep-alive mechanism is OS-specific.
205+
206Search for `tcp_keepalive` in man:tcp(7) for more information.
207
208`LTTNG_RELAYD_TCP_KEEP_ALIVE_ABORT_THRESHOLD`::
209 The time threshold in seconds to abort a TCP connection after the keep-alive
210 probing mechanism has failed.
211+
212Set to 0 or -1 to use the value chosen by the operating system (default).
213+
214Supported on Solaris 11 only.
215+
216Search for `tcp_keepalive_abort_threshold` in man:tcp(7) for more information.
217
218`LTTNG_RELAYD_TCP_KEEP_ALIVE_IDLE_TIME`::
219 Number of seconds a connection needs to be idle before TCP begins
220 sending out keep-alive probes.
221+
222Set to 0 or -1 to use the value chosen by the operating system (default).
223+
224Supported on Linux and Solaris 11 only.
225+
226On Solaris{nbsp}11, the accepted values are -1, 0, and 10 to 864000.
227+
228Search for `tcp_keepalive_time` and `tcp_keepalive_interval`
229in man:tcp(7) on Solaris 11 for more information.
230
231`LTTNG_RELAYD_TCP_KEEP_ALIVE_MAX_PROBE_COUNT`::
232 Maximum number of TCP keep-alive probes to send before giving up and
233 killing the connection if no response is obtained from the other end.
234+
235Set to 0 or -1 to use the value chosen by the operating system (default).
236+
237Supported on Linux only.
238+
239Search for `tcp_keepalive_probes` in man:tcp(7) for more information.
240
241`LTTNG_RELAYD_TCP_KEEP_ALIVE_PROBE_INTERVAL`::
242 Number of seconds between TCP keep-alive probes.
243+
244Set to 0 or -1 to use the value chosen by the operating system (default).
245+
246Supported on Linux only.
247+
248Search for `tcp_keepalive_intvl` in man:tcp(7) for more information.
249
f5595c32 250
900690ca
PP
251FILES
252-----
253`$LTTNG_HOME/.lttng`::
254 User LTTng runtime and configuration directory.
255
256`$LTTNG_HOME/lttng-traces`::
257 Default output directory of LTTng traces. This can be overridden
258 with the option:--output option.
259
260NOTE: `$LTTNG_HOME` defaults to `$HOME` when not explicitly set.
261
262
f5595c32
PP
263EXIT STATUS
264-----------
265*0*::
266 Success
267
268*1*::
269 Error
270
271*3*::
272 Fatal error
273
274
275LIMITATIONS
276-----------
277As of this version, only the TCP protocol is supported for both control
278and data ports. In future versions, TCP will remain the sole available
279protocol for control data since those communications are low-volume and
280need absolute reliability; trace data could be carried over UDP.
281
282For an unprivileged user running `lttng-relayd`, the maximum number of
283file descriptors per process is usually 1024. This limits the number of
284connections and opened trace files. This limit can be configured with
285*ulimit*(3).
286
287
288include::common-footer.txt[]
289
290
291SEE ALSO
292--------
7c1a4458
PP
293man:lttng(1),
294man:lttng-sessiond(8),
295man:lttng-crash(1),
296man:lttng-ust(3),
297man:babeltrace(1)
This page took 0.042618 seconds and 5 git commands to generate.