lttng-relayd — LTTng 2 relay daemon
The Linux Trace Toolkit: next generation is an open source software package used for correlated tracing of the Linux kernel, user applications, and user libraries.
LTTng consists of Linux kernel modules (for Linux kernel tracing) and dynamically loaded libraries (for user application and library tracing).
The LTTng relay daemon is responsible for receiving trace data from possibly remote LTTng session/consumer daemons and for writing it to the local file system. The relay daemon also accepts LTTng live connections from compatible viewers; this is the official approach to viewing LTTng events as they are emitted.
The relay daemon listens by default on all network interfaces to gather trace data, but only on localhost for LTTng live connections.
The relay daemon does not require any particular permissions, as long as
it can write to the output directory and listen on the configured ports.
If a user is within a secured network and/or has proper firewall
lttng-relayd can listen to LTTng live connections from all
network interfaces by specifying
Once a trace has been streamed completely, the trace can be processed by any tool that can process an LTTng trace located on the local file system.
By default, the relay daemon writes the traces to:
Full session name.
You can override the default output directory prefix
$LTTNG_HOME/lttng-traces) with the
--output option. The other
parts depend on the remote configuration.
Start as Unix daemon, but keep file descriptors (console) open.
--daemonize option instead to close the file
Start as Unix daemon, and close file descriptors (console). Use the
--background option instead to keep the file descriptors
GROUP as Unix tracing group (default:
Set base directory of written trace data to
See the Output directory section above for more information.
Three levels of verbosity are available, which are triggered by
v letters to the option
See the URL format section above for more information
about the syntax of the following options'
Set to 1 to abort the process after the first error is encountered.
Socket connection, receive and send timeout (milliseconds). A value of 0 or -1 uses the timeout of the operating system (default).
Path to relay daemon health’s socket.
User LTTng runtime and configuration directory.
Default output directory of LTTng traces. This can be overridden
$LTTNG_HOME defaults to
$HOME when not explicitly set.
As of this version, only the TCP protocol is supported for both control and data ports. In future versions, TCP will remain the sole available protocol for control data since those communications are low-volume and need absolute reliability; trace data could be carried over UDP.
For an unprivileged user running
lttng-relayd, the maximum number of
file descriptors per process is usually 1024. This limits the number of
connections and opened trace files. This limit can be configured with
If you encounter any issue or usability problem, please report it on the LTTng bug tracker.
Special thanks to Michel Dagenais and the DORSAL laboratory at École Polytechnique de Montréal for the LTTng journey.
Also thanks to the Ericsson teams working on tracing which helped us greatly with detailed bug reports and unusual test cases.