lttng-enable-rotation — Set a tracing session's rotation schedule
The lttng enable-rotation
command sets a rotation schedule for the
current tracing session, or for the tracing session named SESSION
if
provided. See lttng-rotate(1) for more information about the
concepts of a tracing session rotation and a trace chunk.
With the --timer
option, the rotation schedule is set so that an
automatic rotation occurs at least every PERIOD
(microseconds without
a unit suffix).
With the --size
option, the rotation schedule is set
so that an automatic rotation occurs every time the total size of the
flushed part of the current trace chunk is at least SIZE
(bytes
without a unit suffix).
For both --timer
and --size
options, LTTng checks the
schedule condition periodically using the monitor timers of the tracing
session’s channels (see the --monitor-timer
option of the
lttng-enable-channel(1) command). This means that:
With the --timer
option, the automatic rotation can occur when
the elapsed time since the last automatic rotation is slightly greater
than PERIOD
. The exact precision is governed by the monitor timer’s
precision, which relies on the precision of the platform’s
implementation of POSIX timers.
With the --size
option, the automatic rotation can occur when
the size of the flushed part of the current trace chunk is greater
than SIZE
.
You can combine the --timer
and --size
options.
The naming convention of a trace chunk archive which an automatic rotation creates is the same as with the immediate rotation command, lttng-rotate(1).
You can unset a rotation schedule with the lttng-disable-rotation(1) command.
See LIMITATIONS for important limitations regarding this command.
General options are described in lttng(1).
--size
=SIZE
Set a rotation schedule so that an automatic rotation occurs every
time the total size of the flushed part of the current trace chunk
is at least SIZE
bytes. The k
(kiB), M
(MiB), and G
(GiB)
suffixes are supported.
--timer
=PERIOD
Set a rotation schedule so that an automatic rotation occurs at
least every PERIOD
microseconds. The ms
(milliseconds), s
(seconds), m
(minutes), and h
(hours) suffixes are supported.
-h
, --help
Show command help.
This option, like lttng-help(1), attempts to launch
/usr/bin/man
to view the command’s man page. The path to the man pager
can be overridden by the LTTNG_MAN_BIN_PATH
environment variable.
--list-options
List available command options.
The lttng enable-rotation
command only works when:
The tracing session is created in normal mode or in network streaming mode (see lttng-create(1)).
No channel was created with a configured trace file count or size
limit (see the --tracefile-size
and
--tracefile-count
options in lttng-enable-channel(1)).
For a given tracing session, LTTng only performs an automatic rotation when no other rotation is currently happening.
LTTNG_ABORT_ON_ERROR
Set to 1 to abort the process after the first error is encountered.
LTTNG_HOME
Overrides the $HOME
environment variable. Useful when the user
running the commands has a non-writable home directory.
LTTNG_MAN_BIN_PATH
Absolute path to the man pager to use for viewing help information
about LTTng commands (using lttng-help(1) or
lttng COMMAND --help
).
LTTNG_SESSION_CONFIG_XSD_PATH
Path in which the session.xsd
session configuration XML
schema may be found.
LTTNG_SESSIOND_PATH
Full session daemon binary path.
The --sessiond-path
option has precedence over this
environment variable.
Note that the lttng-create(1) command can spawn an LTTng session daemon automatically if none is running. See lttng-sessiond(8) for the environment variables influencing the execution of the session daemon.
$LTTNG_HOME/.lttngrc
User LTTng runtime configuration.
This is where the per-user current tracing session is stored between executions of lttng(1). The current tracing session can be set with lttng-set-session(1). See lttng-create(1) for more information about tracing sessions.
$LTTNG_HOME/lttng-traces
Default output directory of LTTng traces. This can be overridden
with the --output
option of the lttng-create(1)
command.
$LTTNG_HOME/.lttng
User LTTng runtime and configuration directory.
$LTTNG_HOME/.lttng/sessions
Default location of saved user tracing sessions (see lttng-save(1) and lttng-load(1)).
/etc/lttng/sessions
System-wide location of saved tracing sessions (see lttng-save(1) and lttng-load(1)).
Note:$LTTNG_HOME
defaults to $HOME
when not explicitly set.
Success
Command error
Undefined command
Fatal error
Command warning (something went wrong during the command)
If you encounter any issue or usability problem, please report it on the LTTng bug tracker.
Mailing list for support and
development: lttng-dev@lists.lttng.org
IRC channel: #lttng
on irc.oftc.net
This program is part of the LTTng-tools project.
LTTng-tools is distributed under the
GNU General
Public License version 2. See the
LICENSE
file
for details.
Special thanks to Michel Dagenais and the DORSAL laboratory at École Polytechnique de Montréal for the LTTng journey.
Also thanks to the Ericsson teams working on tracing which helped us greatly with detailed bug reports and unusual test cases.