'\" t .\" Title: lttng-enable-channel .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 9 November 2018 .\" Manual: LTTng Manual .\" Source: LTTng 2.12.3 .\" Language: English .\" .TH "LTTNG\-ENABLE\-CHANN" "1" "9 November 2018" "LTTng 2\&.12\&.3" "LTTng Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" lttng-enable-channel \- Create or enable LTTng channels .SH "SYNOPSIS" .sp Create a Linux kernel channel: .sp .nf \fBlttng\fR [\fIGENERAL OPTIONS\fR] \fBenable\-channel\fR \fB--kernel\fR [\fB--overwrite\fR] [\fB--output\fR=(\fBmmap\fR | \fBsplice\fR)] [\fB--subbuf-size\fR=\fISIZE\fR] [\fB--num-subbuf\fR=\fICOUNT\fR] [\fB--switch-timer\fR=\fIPERIODUS\fR] [\fB--read-timer\fR=\fIPERIODUS\fR] [\fB--monitor-timer\fR=\fIPERIODUS\fR] [\fB--tracefile-size\fR=\fISIZE\fR] [\fB--tracefile-count\fR=\fICOUNT\fR] [\fB--session\fR=\fISESSION\fR] \fICHANNEL\fR .fi .sp Create a user space channel: .sp .nf \fBlttng\fR [\fIGENERAL OPTIONS\fR] \fBenable\-channel\fR \fB--userspace\fR [\fB--overwrite\fR | \fB--blocking-timeout\fR=\fITIMEOUTUS\fR] [\fB--buffers-pid\fR] [\fB--subbuf-size\fR=\fISIZE\fR] [\fB--num-subbuf\fR=\fICOUNT\fR] [\fB--switch-timer\fR=\fIPERIODUS\fR] [\fB--read-timer\fR=\fIPERIODUS\fR] [\fB--monitor-timer\fR=\fIPERIODUS\fR] [\fB--tracefile-size\fR=\fISIZE\fR] [\fB--tracefile-count\fR=\fICOUNT\fR] [\fB--session\fR=\fISESSION\fR] \fICHANNEL\fR .fi .sp Enable existing channel(s): .sp .nf \fBlttng\fR [\fIGENERAL OPTIONS\fR] \fBenable\-channel\fR (\fB--userspace\fR | \fB--kernel\fR) [\fB--session\fR=\fISESSION\fR] \fICHANNEL\fR[,\fICHANNEL\fR]\&... .fi .SH "DESCRIPTION" .sp The \fBlttng enable-channel\fR command can create a new channel, or enable one or more existing and disabled ones\&. .sp A channel is the owner of sub\-buffers holding recorded events\&. Event, rules, when created using \fBlttng-enable-event\fR(1), are always assigned to a channel\&. When creating a new channel, many parameters related to those sub\-buffers can be fine\-tuned\&. They are described in the subsections below\&. .sp When \fICHANNEL\fR does not name an existing channel, a channel named \fICHANNEL\fR is created\&. Otherwise, the disabled channel named \fICHANNEL\fR is enabled\&. .sp Note that the \fBlttng-enable-event\fR(1) command can automatically create default channels when no channel exist\&. .sp A channel is always contained in a tracing session (see \fBlttng-create\fR(1) for creating a tracing session)\&. The session in which a channel is created using \fBlttng enable-channel\fR can be specified using the \fB--session\fR option\&. If the \fB--session\fR option is omitted, the current tracing session is targeted\&. .sp Existing enabled channels can be disabled using \fBlttng-disable-channel\fR(1)\&. Channels of a given session can be listed using \fBlttng-list\fR(1)\&. .sp See the \fILIMITATIONS\fR section below for a list of limitations of this command to consider\&. .SS "Event loss modes" .sp LTTng tracers are non\-blocking by default: when no empty sub\-buffer exists, losing events is acceptable when the alternative would be to cause substantial delays in the instrumented application\(cqs execution\&. .sp LTTng privileges performance over integrity, aiming at perturbing the traced system as little as possible in order to make tracing of subtle race conditions and rare interrupt cascades possible\&. .sp You can allow the user space tracer to block with a \fB--blocking-timeout\fR option set to a positive value or to \fBinf\fR, and with an application which is instrumented with LTTng\-UST started with a set \fBLTTNG_UST_ALLOW_BLOCKING\fR environment variable\&. See \fBlttng-ust\fR(3) for more details\&. .sp When it comes to losing events because no empty sub\-buffer is available, the channel\(cqs event loss mode, specified by one of the \fB--discard\fR and \fB--overwrite\fR options, determines what to do amongst: .PP Discard .RS 4 Drop the newest events until a sub\-buffer is released\&. .RE .PP Overwrite .RS 4 Clear the sub\-buffer containing the oldest recorded events and start recording the newest events there\&. This mode is sometimes called \fIflight recorder mode\fR because it behaves like a flight recorder: always keep a fixed amount of the latest data\&. .RE .sp Which mechanism to choose depends on the context: prioritize the newest or the oldest events in the ring buffer? .sp Beware that, in overwrite mode (\fB--overwrite\fR option), a whole sub\-buffer is abandoned as soon as a new event doesn\(cqt find an empty sub\-buffer, whereas in discard mode (\fB--discard\fR option), only the event that doesn\(cqt fit is discarded\&. .sp Also note that a count of lost events is incremented and saved in the trace itself when an event is lost in discard mode, whereas no information is kept when a sub\-buffer gets overwritten before being committed\&. .sp The probability of losing events, if it is experience in a given context, can be reduced by fine\-tuning the sub\-buffers count and size (see next subsection)\&. .SS "Sub\-buffers count and size" .sp The \fB--num-subbuf\fR and \fB--subbuf-size\fR options respectively set the number of sub\-buffers and their individual size when creating a new channel\&. .sp Note that there is a noticeable tracer\(cqs CPU overhead introduced when switching sub\-buffers (marking a full one as consumable and switching to an empty one for the following events to be recorded)\&. Knowing this, the following list presents a few practical situations along with how to configure sub\-buffers for them when creating a channel in overwrite mode (\fB--overwrite\fR option): .PP High event throughput .RS 4 In general, prefer bigger sub\-buffers to lower the risk of losing events\&. Having bigger sub\-buffers also ensures a lower sub\-buffer switching frequency\&. The number of sub\-buffers is only meaningful if the channel is enabled in overwrite mode: in this case, if a sub\-buffer overwrite happens, the other sub\-buffers are left unaltered\&. .RE .PP Low event throughput .RS 4 In general, prefer smaller sub\-buffers since the risk of losing events is already low\&. Since events happen less frequently, the sub\-buffer switching frequency should remain low and thus the tracer\(cqs overhead should not be a problem\&. .RE .PP Low memory system .RS 4 If the target system has a low memory limit, prefer fewer first, then smaller sub\-buffers\&. Even if the system is limited in memory, it is recommended to keep the sub\-buffers as big as possible to avoid a high sub\-buffer switching frequency\&. .RE .sp In discard mode (\fB--discard\fR option), the sub\-buffers count parameter is pointless: using two sub\-buffers and setting their size according to the requirements of the context is fine\&. .SS "Switch timer" .sp When a channel\(cqs switch timer fires, a sub\-buffer switch happens\&. This timer may be used to ensure that event data is consumed and committed to trace files periodically in case of a low event throughput\&. .sp It\(cqs also convenient when big sub\-buffers are used to cope with sporadic high event throughput, even if the throughput is normally lower\&. .sp Use the \fB--switch-timer\fR option to control the switch timer\(cqs period of the channel to create\&. .SS "Read timer" .sp By default, an internal notification mechanism is used to signal a full sub\-buffer so that it can be consumed\&. When such notifications must be avoided, for example in real\-time applications, the channel\(cqs read timer can be used instead\&. When the read timer fires, sub\-buffers are checked for consumption when they are full\&. .sp Use the \fB--read-timer\fR option to control the read timer\(cqs period of the channel to create\&. .SS "Monitor timer" .sp When a channel\(cqs monitor timer fires, its registered trigger conditions are evaluated using the current values of its properties (for example, the current usage of its sub\-buffers)\&. When a trigger condition is true, LTTng executes its associated action\&. The only type of action currently supported is to notify one or more user applications\&. .sp See the installed C/C++ headers in \fBlttng/action\fR, \fBlttng/condition\fR, \fBlttng/notification\fR, and \fBlttng/trigger\fR to learn more about application notifications and triggers\&. .sp Use the \fB--monitor-timer\fR option to control the monitor timer\(cqs period of the channel to create\&. .SS "Buffering scheme" .sp In the user space tracing domain, two buffering schemes are available when creating a channel: .PP Per\-process buffering (\fB--buffers-pid\fR option) .RS 4 Keep one ring buffer per process\&. .RE .PP Per\-user buffering (\fB--buffers-uid\fR option) .RS 4 Keep one ring buffer for all the processes of a single user\&. .RE .sp The per\-process buffering scheme consumes more memory than the per\-user option if more than one process is instrumented for LTTng\-UST\&. However, per\-process buffering ensures that one process having a high event throughput won\(cqt fill all the shared sub\-buffers, only its own\&. .sp The Linux kernel tracing domain only has one available buffering scheme which is to use a single ring buffer for the whole system (\fB--buffers-global\fR option)\&. .SS "Trace files limit and size" .sp By default, trace files can grow as large as needed\&. The maximum size of each trace file written by a channel can be set on creation using the \fB--tracefile-size\fR option\&. When such a trace file\(cqs size reaches the channel\(cqs fixed maximum size, another trace file is created to hold the next recorded events\&. A file count is appended to each trace file name in this case\&. .sp If the \fB--tracefile-size\fR option is used, the maximum number of created trace files is unlimited\&. To limit them, the \fB--tracefile-count\fR option can be used\&. This option is always used in conjunction with the \fB--tracefile-size\fR option\&. .sp For example, consider this command: .sp .if n \{\ .RS 4 .\} .nf $ lttng enable\-channel \-\-kernel \-\-tracefile\-size=4096 \e \-\-tracefile\-count=32 my\-channel .fi .if n \{\ .RE .\} .sp Here, for each stream, the maximum size of each trace file is 4 kiB and there can be a maximum of 32 different files\&. When there is no space left in the last file, \fItrace file rotation\fR happens: the first file is cleared and new sub\-buffers containing events are written there\&. .sp LTTng does not guarantee that you can view the trace of an active tracing session before you run the \fBlttng-stop\fR(1) command, even with multiple trace files, because LTTng could overwrite them at any moment, or some of them could be incomplete\&. You can archive a tracing session\(cqs current trace chunk while the tracing session is active to obtain an unmanaged and self\-contained LTTng trace: see the \fBlttng-rotate\fR(1) and \fBlttng-enable-rotation\fR(1) commands\&. .SH "OPTIONS" .sp General options are described in \fBlttng\fR(1)\&. .SS "Domain" .sp One of: .PP \fB-k\fR, \fB--kernel\fR .RS 4 Enable channel in the Linux kernel domain\&. .RE .PP \fB-u\fR, \fB--userspace\fR .RS 4 Enable channel in the user space domain\&. .RE .SS "Target" .PP \fB-s\fR \fISESSION\fR, \fB--session\fR=\fISESSION\fR .RS 4 Create or enable channel in the tracing session named \fISESSION\fR instead of the current tracing session\&. .RE .SS "Event loss mode" .PP \fB--blocking-timeout\fR=\fITIMEOUTUS\fR .RS 4 Set the channel\(cqs blocking timeout value to \fITIMEOUTUS\fR \(mcs for instrumented applications executed with a set \fBLTTNG_UST_ALLOW_BLOCKING\fR environment variable: .PP 0 (default) .RS 4 Do not block (non\-blocking mode)\&. .RE .PP \fBinf\fR .RS 4 Block forever until room is available in the sub\-buffer to write the event record\&. .RE .PP \fIn\fR, a positive value .RS 4 Wait for at most \fIn\fR \(mcs when trying to write into a sub\-buffer\&. After \fIn\fR \(mcs, discard the event record\&. .RE .sp This option is only available with the \fB--userspace\fR option and without the \fB--overwrite\fR option\&. .RE .sp One of: .PP \fB--discard\fR .RS 4 Discard events when sub\-buffers are full (default)\&. .RE .PP \fB--overwrite\fR .RS 4 Flight recorder mode: always keep a fixed amount of the latest data\&. .RE .SS "Sub\-buffers" .PP \fB--num-subbuf\fR=\fICOUNT\fR .RS 4 Use \fICOUNT\fR sub\-buffers\&. Rounded up to the next power of two\&. .sp Default values: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-uid\fR options: 4 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-pid\fR options: 4 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--kernel\fR option: 4 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmetadata\fR channel: 2 .RE .RE .PP \fB--output\fR=\fITYPE\fR .RS 4 Set channel\(cqs output type to \fITYPE\fR\&. .sp Available types: \fBmmap\fR (always available) and \fBsplice\fR (only available with the \fB--kernel\fR option)\&. .sp Default values: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-uid\fR options: \fBmmap\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-pid\fR options: \fBmmap\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--kernel\fR option: \fBsplice\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmetadata\fR channel: \fBmmap\fR .RE .RE .PP \fB--subbuf-size\fR=\fISIZE\fR .RS 4 Set the individual size of sub\-buffers to \fISIZE\fR bytes\&. The \fBk\fR (kiB), \fBM\fR (MiB), and \fBG\fR (GiB) suffixes are supported\&. Rounded up to the next power of two\&. .sp The minimum sub\-buffer size, for each tracer, is the maximum value between the default below and the system\(cqs page size\&. The following command shows the current system\(cqs page size: \fBgetconf PAGE_SIZE\fR\&. .sp Default values: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-uid\fR options: 524288 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-pid\fR options: 16384 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--kernel\fR option: 1048576 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmetadata\fR channel: 4096 .RE .RE .SS "Buffering scheme" .sp One of: .PP \fB--buffers-global\fR .RS 4 Use shared sub\-buffers for the whole system (only available with the \fB--kernel\fR option)\&. .RE .PP \fB--buffers-pid\fR .RS 4 Use different sub\-buffers for each traced process (only available with the the \fB--userspace\fR option)\&. This is the default buffering scheme for user space channels\&. .RE .PP \fB--buffers-uid\fR .RS 4 Use shared sub\-buffers for all the processes of the user running the command (only available with the \fB--userspace\fR option)\&. .RE .SS "Trace files" .PP \fB--tracefile-count\fR=\fICOUNT\fR .RS 4 Limit the number of trace files created by this channel to \fICOUNT\fR\&. 0 means unlimited\&. Default: 0\&. .sp Use this option in conjunction with the \fB--tracefile-size\fR option\&. .sp The file count within a stream is appended to each created trace file\&. If \fICOUNT\fR files are created and more events need to be recorded, the first trace file of the stream is cleared and used again\&. .RE .PP \fB--tracefile-size\fR=\fISIZE\fR .RS 4 Set the maximum size of each trace file written by this channel within a stream to \fISIZE\fR bytes\&. 0 means unlimited\&. Default: 0\&. .sp Note: traces generated with this option may inaccurately report discarded events as of CTF 1\&.8\&. .RE .SS "Timers" .PP \fB--monitor-timer\fR .RS 4 Set the channel\(cqs monitor timer\(cqs period to \fIPERIODUS\fR \(mcs\&. 0 means a disabled monitor timer\&. .sp Default values: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-uid\fR options: 1000000 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-pid\fR options: 1000000 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--kernel\fR option: 1000000 .RE .RE .PP \fB--read-timer\fR .RS 4 Set the channel\(cqs read timer\(cqs period to \fIPERIODUS\fR \(mcs\&. 0 means a disabled read timer\&. .sp Default values: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-uid\fR options: 0 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-pid\fR options: 0 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--kernel\fR option: 200000 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmetadata\fR channel: 0 .RE .RE .PP \fB--switch-timer\fR=\fIPERIODUS\fR .RS 4 Set the channel\(cqs switch timer\(cqs period to \fIPERIODUS\fR \(mcs\&. 0 means a disabled switch timer\&. .sp Default values: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-uid\fR options: 0 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--userspace\fR and \fB--buffers-pid\fR options: 0 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB--kernel\fR option: 0 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmetadata\fR channel: 0 .RE .RE .SS "Program information" .PP \fB-h\fR, \fB--help\fR .RS 4 Show command help\&. .sp This option, like \fBlttng-help\fR(1), attempts to launch \fB/usr/bin/man\fR to view the command\(cqs man page\&. The path to the man pager can be overridden by the \fBLTTNG_MAN_BIN_PATH\fR environment variable\&. .RE .PP \fB--list-options\fR .RS 4 List available command options\&. .RE .SH "LIMITATIONS" .sp As of this version of LTTng, it is not possible to perform the following actions with the \fBlttng enable-channel\fR command: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Reconfigure a channel once it is created\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Re\-enable a disabled channel once its tracing session has been active at least once\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Create a channel once its tracing session has been active at least once\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Create a user space channel with a given buffering scheme (\fB--buffers-uid\fR or \fB--buffers-pid\fR options) and create a second user space channel with a different buffering scheme in the same tracing session\&. .RE .SH "ENVIRONMENT VARIABLES" .PP \fBLTTNG_ABORT_ON_ERROR\fR .RS 4 Set to 1 to abort the process after the first error is encountered\&. .RE .PP \fBLTTNG_HOME\fR .RS 4 Overrides the \fB$HOME\fR environment variable\&. Useful when the user running the commands has a non\-writable home directory\&. .RE .PP \fBLTTNG_MAN_BIN_PATH\fR .RS 4 Absolute path to the man pager to use for viewing help information about LTTng commands (using \fBlttng-help\fR(1) or \fBlttng COMMAND --help\fR)\&. .RE .PP \fBLTTNG_SESSION_CONFIG_XSD_PATH\fR .RS 4 Path in which the \fBsession.xsd\fR session configuration XML schema may be found\&. .RE .PP \fBLTTNG_SESSIOND_PATH\fR .RS 4 Full session daemon binary path\&. .sp The \fB--sessiond-path\fR option has precedence over this environment variable\&. .RE .sp Note that the \fBlttng-create\fR(1) command can spawn an LTTng session daemon automatically if none is running\&. See \fBlttng-sessiond\fR(8) for the environment variables influencing the execution of the session daemon\&. .SH "FILES" .PP \fB$LTTNG_HOME/.lttngrc\fR .RS 4 User LTTng runtime configuration\&. .sp This is where the per\-user current tracing session is stored between executions of \fBlttng\fR(1)\&. The current tracing session can be set with \fBlttng-set-session\fR(1)\&. See \fBlttng-create\fR(1) for more information about tracing sessions\&. .RE .PP \fB$LTTNG_HOME/lttng-traces\fR .RS 4 Default output directory of LTTng traces\&. This can be overridden with the \fB--output\fR option of the \fBlttng-create\fR(1) command\&. .RE .PP \fB$LTTNG_HOME/.lttng\fR .RS 4 User LTTng runtime and configuration directory\&. .RE .PP \fB$LTTNG_HOME/.lttng/sessions\fR .RS 4 Default location of saved user tracing sessions (see \fBlttng-save\fR(1) and \fBlttng-load\fR(1))\&. .RE .PP \fB/etc/lttng/sessions\fR .RS 4 System\-wide location of saved tracing sessions (see \fBlttng-save\fR(1) and \fBlttng-load\fR(1))\&. .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br .sp \fB$LTTNG_HOME\fR defaults to \fB$HOME\fR when not explicitly set\&. .sp .5v .RE .SH "EXIT STATUS" .PP \fB0\fR .RS 4 Success .RE .PP \fB1\fR .RS 4 Command error .RE .PP \fB2\fR .RS 4 Undefined command .RE .PP \fB3\fR .RS 4 Fatal error .RE .PP \fB4\fR .RS 4 Command warning (something went wrong during the command) .RE .SH "BUGS" .sp If you encounter any issue or usability problem, please report it on the LTTng bug tracker \&. .SH "RESOURCES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} LTTng project website .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} LTTng documentation .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Git repositories .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} GitHub organization .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Continuous integration .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Mailing list for support and development: \fBlttng-dev@lists.lttng.org\fR .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} IRC channel : \fB#lttng\fR on \fBirc.oftc.net\fR .RE .SH "COPYRIGHTS" .sp This program is part of the LTTng\-tools project\&. .sp LTTng\-tools is distributed under the GNU General Public License version 2 \&. See the \fBLICENSE\fR file for details\&. .SH "THANKS" .sp Special thanks to Michel Dagenais and the DORSAL laboratory at \('Ecole Polytechnique de Montr\('eal for the LTTng journey\&. .sp Also thanks to the Ericsson teams working on tracing which helped us greatly with detailed bug reports and unusual test cases\&. .SH "SEE ALSO" .sp \fBlttng-disable-channel\fR(1), \fBlttng\fR(1), \fBlttng-ust\fR(3)