# lttng-enable-rotation

## NAME



           lttng-enable-rotation - Set a tracing session's rotation schedule
    


## SYNOPSIS



           **lttng**[_GENERAL OPTIONS_] **enable-rotation**(**--timer** =_PERIOD_ | **--size** =_SIZE_)
                 [**--session** =_SESSION_]
    


## DESCRIPTION



           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).
    
           With both the **--timer** and **--size** options, LTTng checks the
           schedule condition periodically using the monitor timers of the
           tracing session’s channels. This means that, with the **--timer**
           option, the automatic rotation can occur when the elapsed time
           since the last automatic rotation is greater than _PERIOD_ , and 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_. See the **--monitor-timer** option in lttng-enable-channel(1)
           for more information about the monitor timer.
    
           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.
    


## OPTIONS



           General options are described in lttng(1).
    
       **Rotation schedule condition**
           One of:
    
           **--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.
    
       **Target**
           **-s** _SESSION_ , **--session** =_SESSION_
               Set a rotation schedule for the tracing session named _SESSION_
               instead of the current tracing session.
    
       **Program information**
           **-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.
    


## LIMITATIONS



           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.
    


## ENVIRONMENT VARIABLES



           **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.
    


## FILES



           **$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)).
    
           **/usr/local/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.
    


## EXIT STATUS



           **0**
               Success
    
           **1**
               Command error
    
           **2**
               Undefined command
    
           **3**
               Fatal error
    
           **4**
               Command warning (something went wrong during the command)
    


## BUGS



           If you encounter any issue or usability problem, please report it
           on the LTTng bug tracker <https://bugs.lttng.org/projects/lttng-
           tools>.
    


## RESOURCES



           •   LTTng project website <https://lttng.org>
    
           •   LTTng documentation <https://lttng.org/docs>
    
           •   Git repositories <http://git.lttng.org>
    
           •   GitHub organization <http://github.com/lttng>
    
           •   Continuous integration <http://ci.lttng.org/>
    
           •   Mailing list <http://lists.lttng.org> for support and
               development: **lttng-dev@lists.lttng.org**
    
           •   IRC channel <irc://irc.oftc.net/lttng>: **#lttng** on **irc.oftc.net**
    


## THANKS



           Special thanks to Michel Dagenais and the DORSAL laboratory
           <http://www.dorsal.polymtl.ca/> 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.
    


* * *