| 1 | .TH "LTTNG-SESSIOND" "8" "January 31, 2012" "" "" |
| 2 | |
| 3 | .SH "NAME" |
| 4 | lttng-sessiond \(em LTTng 2.x central tracing registry session daemon. |
| 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 | |
| 20 | The session daemon, acting as a tracing registry, allow you to interact with |
| 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 |
| 23 | (lttng-ust(3)). Aggregating those traces is done using a viewer, like the |
| 24 | babeltrace(1) text viewer. |
| 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 |
| 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 |
| 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 |
| 35 | them when the time has come. The user don't need to manage the lttng-consumerd. |
| 36 | .SH "OPTIONS" |
| 37 | |
| 38 | .PP |
| 39 | This program follow the usual GNU command line syntax with long options starting with |
| 40 | two dashes. Below is a summary of the available options. |
| 41 | .PP |
| 42 | |
| 43 | .TP |
| 44 | .BR "-h, --help" |
| 45 | Show summary of possible options and commands |
| 46 | .TP |
| 47 | .BR "-v, --verbose" |
| 48 | Increase verbosity |
| 49 | |
| 50 | There is three debugging level which will print on stderr. Maximum verbosity is |
| 51 | \fB-vvv\fP. |
| 52 | .TP |
| 53 | .BR " --verbose-consumer" |
| 54 | Verbose mode for consumer. Activate DBG() macro. |
| 55 | .TP |
| 56 | .BR "-d, --daemonize" |
| 57 | Start as a daemon |
| 58 | .TP |
| 59 | .BR "-g, --group=NAME" |
| 60 | Specify the tracing group name. (default: tracing) |
| 61 | .TP |
| 62 | .BR "-V, --version" |
| 63 | Show version number |
| 64 | .TP |
| 65 | .BR "-S, --sig-parent" |
| 66 | Send SIGUSR1 to parent pid to notify readiness. |
| 67 | |
| 68 | This is used by \fBlttng(1)\fP to get notified when the session daemon is ready |
| 69 | to accept command. When building a third party tool over liblttng-ctl, this option |
| 70 | can be very handy to synchronize the control tool and the session daemon. |
| 71 | .TP |
| 72 | .BR "-q, --quiet" |
| 73 | No output at all. |
| 74 | .TP |
| 75 | .BR " --no-kernel" |
| 76 | No kernel tracer support |
| 77 | .TP |
| 78 | .BR "-c, --client-sock=PATH" |
| 79 | Specify path for the client unix socket |
| 80 | .TP |
| 81 | .BR "-a, --apps-sock PATH" |
| 82 | Specify path for apps unix socket |
| 83 | .TP |
| 84 | .BR " --kconsumerd-err-sock=PATH" |
| 85 | Specify path for the kernel consumer error socket |
| 86 | .TP |
| 87 | .BR " --kconsumerd-cmd-sock=PATH |
| 88 | Specify path for the kernel consumer command socket |
| 89 | .TP |
| 90 | .BR " --ustconsumerd32-err-sock=PATH |
| 91 | Specify path for the 32-bit UST consumer error socket |
| 92 | .TP |
| 93 | .BR " --ustconsumerd64-err-sock=PATH |
| 94 | Specify path for the 64-bit UST consumer error socket |
| 95 | .TP |
| 96 | .BR " --ustconsumerd32-cmd-sock=PATH |
| 97 | Specify path for the 32-bit UST consumer command socket |
| 98 | .TP |
| 99 | .BR " --ustconsumerd64-cmd-sock=PATH |
| 100 | Specify path for the 64-bit UST consumer command socket |
| 101 | .TP |
| 102 | .BR " --consumerd32-path=PATH |
| 103 | Specify path for the 32-bit UST consumer daemon binary |
| 104 | .TP |
| 105 | .BR " --consumerd32-libdir=PATH |
| 106 | Specify path for the 32-bit UST consumer daemon libraries |
| 107 | .TP |
| 108 | .BR " --consumerd64-path=PATH |
| 109 | Specify path for the 64-bit UST consumer daemon binary |
| 110 | .TP |
| 111 | .BR " --consumerd64-libdir=PATH |
| 112 | Specify path for the 64-bit UST consumer daemon libraries |
| 113 | .SH "ENVIRONMENT VARIABLES" |
| 114 | |
| 115 | .PP |
| 116 | Note that all command line options will override environment variables. |
| 117 | .PP |
| 118 | |
| 119 | .PP |
| 120 | .IP "LTTNG_CONSUMERD32_BIN" |
| 121 | Specify the 32-bit consumer binary path. \fB--consumerd32-path\fP |
| 122 | override this variable. |
| 123 | .IP "LTTNG_CONSUMERD64_BIN" |
| 124 | Specify the 64-bit consumer binary path. \fB--consumerd64-path\fP |
| 125 | override this variable. |
| 126 | .IP "LTTNG_CONSUMERD32_LIBDIR" |
| 127 | Specifiy the 64-bit library path containing libconsumer.so. |
| 128 | \fB--consumerd32-libdir\fP override this variable. |
| 129 | .IP "LTTNG_CONSUMERD64_LIBDIR" |
| 130 | Specifiy the 32-bit library path containing libconsumer.so. |
| 131 | \fB--consumerd64-libdir\fP override this variable. |
| 132 | .IP "LTTNG_DEBUG_NOCLONE" |
| 133 | Debug-mode disabling use of clone/fork. Insecure, but required to allow |
| 134 | debuggers to work with sessiond on some operating systems. |
| 135 | .IP "LTTNG_APP_SOCKET_TIMEOUT" |
| 136 | Control the timeout of application's socket when sending and receiving |
| 137 | commands. Takes an integer parameter: the timeout value, in seconds. |
| 138 | After this period of time, the application is unregistered by the |
| 139 | session daemon. A value of 0 or -1 means an infinite timeout. Default |
| 140 | value is 5 seconds. |
| 141 | .IP "LTTNG_NETWORK_SOCKET_TIMEOUT" |
| 142 | Control timeout of socket connection, receive and send. Takes an integer |
| 143 | parameter: the timeout value, in milliseconds. A value of 0 or -1 uses |
| 144 | the timeout of the operating system (this is the default). |
| 145 | .SH "SEE ALSO" |
| 146 | |
| 147 | .PP |
| 148 | babeltrace(1), lttng-ust(3), lttng(1) |
| 149 | .PP |
| 150 | |
| 151 | .SH "LIMITATIONS" |
| 152 | |
| 153 | .PP |
| 154 | For unprivileged user running lttng-sessiond, the maximum number of file |
| 155 | descriptors per process is usually 1024. This limits the number of traceable |
| 156 | applications since for each instrumented application there is two file |
| 157 | descriptors per-CPU and one more socktet for bidirectional communication. |
| 158 | |
| 159 | For the root user, the limit is bumped to 65535. Future version will deal with |
| 160 | this limitation. |
| 161 | .PP |
| 162 | |
| 163 | .SH "BUGS" |
| 164 | |
| 165 | .PP |
| 166 | No show stopper bugs are known yet in this version. |
| 167 | |
| 168 | If you encounter any issues or usability problem, please report it on our |
| 169 | mailing list <lttng-dev@lists.lttng.org> to help improve this project. |
| 170 | .SH "CREDITS" |
| 171 | |
| 172 | .PP |
| 173 | lttng-sessiond is distributed under the GNU General Public License version 2. See the |
| 174 | file COPYING for details. |
| 175 | .PP |
| 176 | A Web site is available at http://lttng.org for more information on the LTTng |
| 177 | project. |
| 178 | .PP |
| 179 | You can also find our git tree at http://git.lttng.org. |
| 180 | .PP |
| 181 | Mailing lists for support and development: <lttng-dev@lists.lttng.org>. |
| 182 | .PP |
| 183 | You can find us on IRC server irc.oftc.net (OFTC) in #lttng. |
| 184 | .PP |
| 185 | .SH "THANKS" |
| 186 | |
| 187 | .PP |
| 188 | Thanks to Yannick Brosseau without whom this project would never have been so |
| 189 | lean and mean! Also thanks to the Ericsson teams working on tracing which helped |
| 190 | us greatly with detailed bug reports and unusual test cases. |
| 191 | |
| 192 | Thanks to our beloved packager Alexandre Montplaisir-Goncalves (Ubuntu and PPA |
| 193 | maintainer) and Jon Bernard for our Debian packages. |
| 194 | |
| 195 | Special thanks to Michel Dagenais and the DORSAL laboratory at Polytechnique de |
| 196 | Montreal for the LTTng journey. |
| 197 | .PP |
| 198 | .SH "AUTHORS" |
| 199 | |
| 200 | .PP |
| 201 | lttng-tools was originally written by Mathieu Desnoyers, Julien Desfossez and |
| 202 | David Goulet. More people have since contributed to it. It is currently |
| 203 | maintained by David Goulet <dgoulet@efficios.com>. |
| 204 | .PP |