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