.TH "LTTNG-SESSIOND" "8" "January 31, 2012" "" ""
.SH "NAME"
-lttng-sessiond \(em LTTng 2.0 central tracing registry session daemon.
+lttng-sessiond \(em LTTng 2.x central tracing registry session daemon.
.SH "SYNOPSIS"
The session daemon, acting as a tracing registry, allow you to interact with
multiple tracers (kernel and user-space) inside the same container, a tracing
session. Trace can be gathered from the kernel and/or instrumented applications
-(lttng-ust(3)). Aggregating those traces is done using a viewer, like the
+(lttng-ust(3)). Aggregating those traces is done using a viewer, like the
babeltrace(1) text viewer.
In order to trace the kernel, the session daemon needs to be running as root.
.BR "-d, --daemonize"
Start as a daemon
.TP
+.BR "-b, --background"
+Start as a daemon, keeping console open
+.TP
.BR "-g, --group=NAME"
Specify the tracing group name. (default: tracing)
.TP
Show version number
.TP
.BR "-S, --sig-parent"
-Send SIGCHLD to parent pid to notify readiness.
+Send SIGUSR1 to parent pid to notify readiness.
This is used by \fBlttng(1)\fP to get notified when the session daemon is ready
to accept command. When building a third party tool over liblttng-ctl, this option
.BR " --no-kernel"
No kernel tracer support
.TP
+.BR " --agent-tcp-port"
+Agent application registration TCP port (default: 5345)
+.TP
+.BR " --kmod-probes=probe1, probe2, ..."
+Specify the kernel modules containing LTTng probes to load by the session daemon.
+Only the component name of the probe needs to be specified, e.g. to load the
+lttng-probe-irq and lttng-probe-sched use: --kmod-probes="irq, sched".
+.TP
+.BR " --extra-kmod-probes=probe1, probe2, ..."
+Specify extra kernel modules containing LTTng probes to be loaded by the session
+daemon. The list follows the format of the \fB--kmod-probes\fP option.
+This list is appended to the list provided by \fB--kmod-probes\fP or, if
+\fB--kmod-probes\fP is missing, to the default list of probes.
+.TP
.BR "-c, --client-sock=PATH"
Specify path for the client unix socket
.TP
.TP
.BR " --consumerd64-libdir=PATH
Specify path for the 64-bit UST consumer daemon libraries
+.TP
+.BR "-l, --load PATH
+Specify path from which to automatically load session configuration(s).
+.TP
+.BR "-f, --config PATH
+Specify path from which to load daemon configuration.
+
+.SH "LOADING SESSIONS"
+
+.PP
+By default, the session daemon tries to load session configuration(s) located
+in the user default directory \fB~/.lttng/sessions/auto/\fP and in the system
+wide one in \fB/etc/lttng/sessions/auto/\fP. Note that the directory containing
+the session's configuration and lttng-sessiond MUST have the same UID for them
+to be automatically loaded.
+
+Specifying a path with \-l, \-\-load PATH overrides the default directory and
+UID check. The lttng-sessiond will simply check if it's accessible and try to
+load every session file in it.
+.PP
+
.SH "ENVIRONMENT VARIABLES"
.PP
Specify the 64-bit consumer binary path. \fB--consumerd64-path\fP
override this variable.
.IP "LTTNG_CONSUMERD32_LIBDIR"
-Specifiy the 64-bit library path containing libconsumer.so.
+Specify the 64-bit library path containing libconsumer.so.
\fB--consumerd32-libdir\fP override this variable.
.IP "LTTNG_CONSUMERD64_LIBDIR"
-Specifiy the 32-bit library path containing libconsumer.so.
+Specify the 32-bit library path containing libconsumer.so.
\fB--consumerd64-libdir\fP override this variable.
.IP "LTTNG_DEBUG_NOCLONE"
Debug-mode disabling use of clone/fork. Insecure, but required to allow
debuggers to work with sessiond on some operating systems.
+.IP "LTTNG_APP_SOCKET_TIMEOUT"
+Control the timeout of application's socket when sending and receiving
+commands. Takes an integer parameter: the timeout value, in seconds.
+After this period of time, the application is unregistered by the
+session daemon. A value of 0 or -1 means an infinite timeout. Default
+value is 5 seconds.
+.IP "LTTNG_NETWORK_SOCKET_TIMEOUT"
+Control timeout of socket connection, receive and send. Takes an integer
+parameter: the timeout value, in milliseconds. A value of 0 or -1 uses
+the timeout of the operating system (this is the default).
+.IP "LTTNG_SESSION_CONFIG_XSD_PATH"
+Specify the path that contains the XML session configuration schema (xsd).
+.IP "LTTNG_KMOD_PROBES"
+Specify the kernel modules probes that should be loaded by the session daemon.
+.IP "LTTNG_EXTRA_KMOD_PROBES"
+Specify extra kernel modules probes that should be loaded by the session daemon.
.SH "SEE ALSO"
.PP
babeltrace(1), lttng-ust(3), lttng(1)
.PP
+
+.SH "LIMITATIONS"
+
+.PP
+For 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. Future version will deal with
+this limitation.
+.PP
+
.SH "BUGS"
.PP
.PP
Thanks to Yannick Brosseau without whom this project would never have been so
-lean and mean! Also thanks to the Ericsson teams working on tracing which
-helped us greatly with detailed bug reports and unusual test cases.
+lean and mean! Also thanks to the Ericsson teams working on tracing which helped
+us greatly with detailed bug reports and unusual test cases.
Thanks to our beloved packager Alexandre Montplaisir-Goncalves (Ubuntu and PPA
maintainer) and Jon Bernard for our Debian packages.
.PP
lttng-tools was originally written by Mathieu Desnoyers, Julien Desfossez and
David Goulet. More people have since contributed to it. It is currently
-maintained by David Goulet <dgoulet@efficios.com>.
+maintained by Jérémie Galarneau <jeremie.galarneau@efficios.com>.
.PP