README.md: bolden all dependencies and versions
[lttng-tools.git] / doc / man / lttng-sessiond.8
... / ...
CommitLineData
1.TH "LTTNG-SESSIOND" "8" "January 31, 2012" "" ""
2
3.SH "NAME"
4lttng-sessiond \- LTTng 2.x central tracing registry session daemon.
5
6.SH "SYNOPSIS"
7
8.PP
9.nf
10lttng-sessiond [OPTIONS]
11.fi
12.SH "DESCRIPTION"
13
14.PP
15The LTTng project aims at providing highly efficient tracing tools for Linux.
16It's tracers help tracking down performance issues and debugging problems
17involving multiple concurrent processes and threads. Tracing across multiple
18systems is also possible.
19
20The session daemon, acting as a tracing registry, allow you to interact with
21multiple tracers (kernel and user-space) inside the same container, a tracing
22session. Trace can be gathered from the kernel and/or instrumented applications
23(lttng-ust(3)). Aggregating those traces is done using a viewer, like the
24babeltrace(1) text viewer.
25
26In order to trace the kernel, the session daemon needs to be running as root.
27LTTng provides the use of a \fBtracing group\fP (default: tracing). Whomever is
28in that group can interact with the root session daemon and thus trace the
29kernel. Session daemons can co-exist meaning that you can have a session daemon
30running as Alice that can be used to trace her applications along side with a
31root daemon or even a Bob daemon. We highly recommend to start the session
32daemon at boot time for stable and long term tracing.
33
34The session daemon is in charge of managing trace data consumers by spawning
35them when the time has come. The user don't need to manage the lttng-consumerd.
36.SH "OPTIONS"
37
38.PP
39This program follows the usual GNU command line syntax with long options starting
40with two dashes. Below is a summary of the available options.
41.PP
42
43.TP
44.BR "-h, --help"
45Show summary of possible options and commands
46.TP
47.BR "\-V, \-\-version"
48Show version.
49.TP
50.BR "-v, --verbose"
51Increase verbosity
52
53There is three debugging level which will print on stderr. Maximum verbosity is
54\fB-vvv\fP.
55.TP
56.BR " --verbose-consumer"
57Verbose mode for consumer. Activate DBG() macro.
58.TP
59.BR "-d, --daemonize"
60Start as a daemon
61.TP
62.BR "-b, --background"
63Start as a daemon, keeping console open
64.TP
65.BR "-g, --group=NAME"
66Specify the tracing group name. (default: tracing)
67.TP
68.BR "-V, --version"
69Show version number
70.TP
71.BR "-S, --sig-parent"
72Send SIGUSR1 to parent pid to notify readiness.
73
74This is used by \fBlttng(1)\fP to get notified when the session daemon is ready
75to accept command. When building a third party tool over liblttng-ctl, this option
76can be very handy to synchronize the control tool and the session daemon.
77.TP
78.BR "-q, --quiet"
79No output at all.
80.TP
81.BR " --no-kernel"
82No kernel tracer support
83.TP
84.BR " --agent-tcp-port"
85Agent application registration TCP port (default: 5345)
86.TP
87.BR " --kmod-probes=probe1, probe2, ..."
88Specify the kernel modules containing LTTng probes to load by the session daemon.
89Only the component name of the probe needs to be specified, e.g. to load the
90lttng-probe-irq and lttng-probe-sched use: --kmod-probes="irq, sched".
91.TP
92.BR " --extra-kmod-probes=probe1, probe2, ..."
93Specify extra kernel modules containing LTTng probes to be loaded by the session
94daemon. The list follows the format of the \fB--kmod-probes\fP option.
95This list is appended to the list provided by \fB--kmod-probes\fP or, if
96\fB--kmod-probes\fP is missing, to the default list of probes.
97.TP
98.BR "-c, --client-sock=PATH"
99Specify path for the client unix socket
100.TP
101.BR "-a, --apps-sock PATH"
102Specify path for apps unix socket
103.TP
104.BR " --kconsumerd-err-sock=PATH"
105Specify path for the kernel consumer error socket
106.TP
107.BR " --kconsumerd-cmd-sock=PATH
108Specify path for the kernel consumer command socket
109.TP
110.BR " --ustconsumerd32-err-sock=PATH
111Specify path for the 32-bit UST consumer error socket
112.TP
113.BR " --ustconsumerd64-err-sock=PATH
114Specify path for the 64-bit UST consumer error socket
115.TP
116.BR " --ustconsumerd32-cmd-sock=PATH
117Specify path for the 32-bit UST consumer command socket
118.TP
119.BR " --ustconsumerd64-cmd-sock=PATH
120Specify path for the 64-bit UST consumer command socket
121.TP
122.BR " --consumerd32-path=PATH
123Specify path for the 32-bit UST consumer daemon binary
124.TP
125.BR " --consumerd32-libdir=PATH
126Specify path for the 32-bit UST consumer daemon libraries
127.TP
128.BR " --consumerd64-path=PATH
129Specify path for the 64-bit UST consumer daemon binary
130.TP
131.BR " --consumerd64-libdir=PATH
132Specify path for the 64-bit UST consumer daemon libraries
133.TP
134.BR "-l, --load PATH
135Specify path from which to automatically load session configuration(s).
136.TP
137.BR "-f, --config PATH
138Specify path from which to load daemon configuration.
139
140.SH "LOADING SESSIONS"
141
142.PP
143By default, the session daemon tries to load session configuration(s) located
144in the user default directory \fB~/.lttng/sessions/auto/\fP and in the system
145wide one in \fB/etc/lttng/sessions/auto/\fP. Note that the directory containing
146the session's configuration and lttng-sessiond MUST have the same UID for them
147to be automatically loaded.
148
149Specifying a path with \-l, \-\-load PATH overrides the default directory and
150UID check. The lttng-sessiond will simply check if it's accessible and try to
151load every session file in it.
152.PP
153
154.SH "ENVIRONMENT VARIABLES"
155
156.PP
157Note that all command line options will override environment variables.
158.PP
159
160.PP
161.IP "LTTNG_CONSUMERD32_BIN"
162Specify the 32-bit consumer binary path. \fB--consumerd32-path\fP
163override this variable.
164.IP "LTTNG_CONSUMERD64_BIN"
165Specify the 64-bit consumer binary path. \fB--consumerd64-path\fP
166override this variable.
167.IP "LTTNG_CONSUMERD32_LIBDIR"
168Specify the 64-bit library path containing libconsumer.so.
169\fB--consumerd32-libdir\fP override this variable.
170.IP "LTTNG_CONSUMERD64_LIBDIR"
171Specify the 32-bit library path containing libconsumer.so.
172\fB--consumerd64-libdir\fP override this variable.
173.IP "LTTNG_DEBUG_NOCLONE"
174Debug-mode disabling use of clone/fork. Insecure, but required to allow
175debuggers to work with sessiond on some operating systems.
176.IP "LTTNG_APP_SOCKET_TIMEOUT"
177Control the timeout of application's socket when sending and receiving
178commands. Takes an integer parameter: the timeout value, in seconds.
179After this period of time, the application is unregistered by the
180session daemon. A value of 0 or -1 means an infinite timeout. Default
181value is 5 seconds.
182.IP "LTTNG_NETWORK_SOCKET_TIMEOUT"
183Control timeout of socket connection, receive and send. Takes an integer
184parameter: the timeout value, in milliseconds. A value of 0 or -1 uses
185the timeout of the operating system (this is the default).
186.IP "LTTNG_SESSION_CONFIG_XSD_PATH"
187Specify the path that contains the XML session configuration schema (xsd).
188.IP "LTTNG_KMOD_PROBES"
189Specify the kernel modules probes that should be loaded by the session daemon.
190.IP "LTTNG_EXTRA_KMOD_PROBES"
191Specify extra kernel modules probes that should be loaded by the session daemon.
192.SH "SEE ALSO"
193
194.PP
195babeltrace(1), lttng-ust(3), lttng(1)
196.PP
197
198.SH "LIMITATIONS"
199
200.PP
201For unprivileged user running lttng-sessiond, the maximum number of file
202descriptors per process is usually 1024. This limits the number of traceable
203applications since for each instrumented application there is two file
204descriptors per-CPU and one more socket for bidirectional communication.
205
206For the root user, the limit is bumped to 65535. Future version will deal with
207this limitation.
208.PP
209
210.SH "BUGS"
211
212.PP
213No show stopper bugs are known yet in this version.
214
215If you encounter any issues or usability problem, please report it on our
216mailing list <lttng-dev@lists.lttng.org> to help improve this project.
217.SH "CREDITS"
218
219.PP
220lttng-sessiond is distributed under the GNU General Public License version 2. See the
221file COPYING for details.
222.PP
223A Web site is available at http://lttng.org for more information on the LTTng
224project.
225.PP
226You can also find our git tree at http://git.lttng.org.
227.PP
228Mailing lists for support and development: <lttng-dev@lists.lttng.org>.
229.PP
230You can find us on IRC server irc.oftc.net (OFTC) in #lttng.
231.PP
232.SH "THANKS"
233
234.PP
235Thanks to Yannick Brosseau without whom this project would never have been so
236lean and mean! Also thanks to the Ericsson teams working on tracing which helped
237us greatly with detailed bug reports and unusual test cases.
238
239Thanks to our beloved packager Alexandre Montplaisir-Goncalves (Ubuntu and PPA
240maintainer) and Jon Bernard for our Debian packages.
241
242Special thanks to Michel Dagenais and the DORSAL laboratory at Polytechnique de
243Montreal for the LTTng journey.
244.PP
245.SH "AUTHORS"
246
247.PP
248lttng-tools was originally written by Mathieu Desnoyers, Julien Desfossez and
249David Goulet. More people have since contributed to it. It is currently
250maintained by Jérémie Galarneau <jeremie.galarneau@efficios.com>.
251.PP
This page took 0.022816 seconds and 4 git commands to generate.