LTTNG-SESSIOND(8) | LTTng Manual | LTTNG-SESSIOND(8) |
lttng-sessiond - LTTng 2 tracing session daemon
lttng-sessiond [--background | --daemonize] [--sig-parent]
[--config=PATH] [--group=GROUP] [--load=PATH]
[--agent-tcp-port=PORT]
[--apps-sock=PATH] [--client-sock=PATH]
[--no-kernel | [--kmod-probes=PROBE[,PROBE]...]
[--extra-kmod-probes=PROBE[,PROBE]...]
[--kconsumerd-err-sock=PATH]
[--kconsumerd-cmd-sock=PATH]]
[--ustconsumerd32-err-sock=PATH]
[--ustconsumerd64-err-sock=PATH]
[--ustconsumerd32-cmd-sock=PATH]
[--ustconsumerd64-cmd-sock=PATH]
[--consumerd32-path=PATH] [--consumerd32-libdir=PATH]
[--consumerd64-path=PATH] [--consumerd64-libdir=PATH]
[--quiet | [-v | -vv | -vvv] [--verbose-consumer]]
The Linux Trace Toolkit: next generation <http://lttng.org/> 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 session daemon is a tracing registry which allows the user to interact with multiple tracers (kernel and user space) within the same container, a tracing session. Traces can be gathered from the Linux kernel and/or from instrumented applications (see lttng-ust(3)). You can aggregate and read the events of LTTng traces using babeltrace(1).
To trace the Linux kernel, the session daemon needs to be running as root. LTTng uses a tracing group to allow specific users to interact with the root session daemon. The default tracing group name is tracing. You can use the --group option to set the tracing group name to use.
Session daemons can coexist. You can have a session daemon running as user Alice that can be used to trace her applications alongside a root session daemon or a session daemon running as user Bob.
The LTTng session daemon manages trace data consumer daemons by spawning them when necessary. You do not need to manage the consumer daemons manually.
It is highly recommended to start the session daemon at boot time for stable and long-term tracing.
When the session daemon starts, it automatically loads session configuration files.
The following directories are searched, non-recursively, in this order for configuration files to load on launch:
Note that both the directory containing the tracing session configurations and the session daemon binary must share the same UID for the configurations to be automatically loaded.
The --load option overrides the default directories and the UID check. The session daemon simply checks if the path is accessible and tries to load every tracing session configuration in it. When this option is specified, the default directories are NOT searched for configuration files. When the option is not specified, both default directories are searched for configuration files.
If the --load option’s argument is a directory, then all the tracing session configurations found in all the files in this directory are loaded. If the argument is a file, then all the tracing session configurations found in this file are loaded.
-b, --background
-d, --daemonize
-f, --config=PATH
-g, --group=GROUP
-l, --load=PATH
-S, --sig-parent
--extra-kmod-probes=PROBE[,PROBE]...
Only the name of the probe needs to be specified, without the lttng-probe- prefix and without the kernel module extension suffix. For example, specify sched to load the lttng-probe-sched.ko kernel module.
--kmod-probes=PROBE[,PROBE]...
Only the name of the probe needs to be specified, without the lttng-probe- prefix and without the kernel module extension suffix. For example, specify sched to load the lttng-probe-sched.ko kernel module.
--no-kernel
--agent-tcp-port=PORT
-a PATH, --apps-sock=PATH
-c PATH, --client-sock=PATH
--consumerd32-libdir=PATH
--consumerd32-path=PATH
--consumerd64-libdir=PATH
--consumerd64-path=PATH
--kconsumerd-cmd-sock=PATH
--kconsumerd-err-sock=PATH
--ustconsumerd32-cmd-sock=PATH
--ustconsumerd64-cmd-sock=PATH
--ustconsumerd32-err-sock=PATH
--ustconsumerd64-err-sock=PATH
-q, --quiet
-v, --verbose
Three levels of verbosity are available, which are triggered by appending additional v letters to the option (that is, -vv and -vvv).
--verbose-consumer
-h, --help
-V, --version
Note that command-line options override their equivalent environment variable.
LTTNG_ABORT_ON_ERROR
LTTNG_APP_SOCKET_TIMEOUT
LTTNG_CONSUMERD32_BIN
The --consumerd32-path option overrides this variable.
LTTNG_CONSUMERD32_LIBDIR
The --consumerd32-libdir option overrides this variable.
LTTNG_CONSUMERD64_BIN
The --consumerd64-path option overrides this variable.
LTTNG_CONSUMERD64_LIBDIR
The --consumerd64-libdir option overrides this variable.
LTTNG_DEBUG_NOCLONE
LTTNG_EXTRA_KMOD_PROBES
The --extra-kmod-probes option overrides this variable.
LTTNG_KMOD_PROBES
The --kmod-probes option overrides this variable.
LTTNG_NETWORK_SOCKET_TIMEOUT
LTTNG_SESSION_CONFIG_XSD_PATH
$LTTNG_HOME/.lttng
$LTTNG_HOME/lttng-traces
$LTTNG_HOME/.lttng/sessions/auto
/usr/local/etc/lttng/sessions/auto
$LTTNG_HOME/.lttng/lttng.conf
/usr/local/etc/lttng/lttng.conf
$LTTNG_HOME defaults to $HOME when not explicitly set.
0
1
3
For an unprivileged user running lttng-sessiond, the maximum number of file descriptors per process is usually 1024. This limits the number of traceable applications, since for each instrumented application, there is two file descriptors per CPU and one more socket for bidirectional communication.
For the root user, the limit is bumped to 65535. A future version will deal with this limitation.
If you encounter any issue or usability problem, please report it on the LTTng bug tracker <https://bugs.lttng.org/projects/lttng-tools>.
This program is part of the LTTng-tools project.
LTTng-tools is distributed under the GNU General Public License version 2 <http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html>. See the LICENSE <https://github.com/lttng/lttng-tools/blob/master/LICENSE> file for details.
Special thanks to Michel Dagenais and the DORSAL laboratory <http://www.dorsal.polymtl.ca/> 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.
LTTng-tools was originally written by Mathieu Desnoyers, Julien Desfossez, and David Goulet. More people have since contributed to it.
LTTng-tools is currently maintained by Jérémie Galarneau <mailto:jeremie.galarneau@efficios.com>.
lttng(1), lttng-relayd(8), lttng-crash(1), lttng-ust(3), babeltrace(1)
01/22/2019 | LTTng 2.10.6 |