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