---
name: "lttng-rotate"
section: "1"
platform: "linux"
package: "lttng-tools"
version: "2.13.15-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/lttng-rotate"
---

# lttng-rotate(1)

Archive the current trace chunk of an LTTng recording session

## NAME

lttng-rotate - Archive the current trace chunk of an LTTng recording session

## SYNOPSIS

```
lttng [GENERAL OPTIONS] rotate [--no-wait] [SESSION]
```

## DESCRIPTION

The **lttng rotate** command archives to the file system the current trace chunk of:

With the *SESSION* argument

The recording session named *SESSION*.

Without the *SESSION* argument

The current recording session (see [**lttng-concepts**(7)](/lttng-concepts/7.md) to learn more about the current recording session).

This action is called a *recording session rotation*.

See [**lttng-concepts**(7)](/lttng-concepts/7.md) to learn more about the recording session rotation and trace chunk concepts.

You can use the **rotate** command:

• Any time the recording session is active.

• A single time once the recording session becomes inactive.

See [**lttng-concepts**(7)](/lttng-concepts/7.md) to learn more about the activity of a recording session.

By default, the **rotate** command ensures that LTTng finished performing the recording session rotation before it prints the path of the archived trace chunk and exits. The printed path is absolute when the recording session was created in normal mode and relative to the base output directory of the relay daemon (see the **--output** option of [**lttng-relayd**(8)](/lttng-relayd/8.md)) when it was created in network streaming mode (see [**lttng-create**(1)](/lttng-create/1.md)).

Make the command exit immediately with the **--no-wait** option. In this case, there’s no easy way to know when the current trace chunk becomes archived, and the command does NOT print the path of the archived trace chunk.

Because LTTng flushes the current sub-buffers of the selected recording session when it performs a recording session rotation, archived trace chunks are never redundant, that is, they do not overlap over time like snapshots can (see [**lttng-snapshot**(1)](/lttng-snapshot/1.md)). Also, a rotation does NOT directly cause discarded event records or packets.

A **rotate-session** trigger action can also rotate a recording session (see [**lttng-add-trigger**(1)](/lttng-add-trigger/1.md)).

See the “EXAMPLES” section below for usage examples.

**Important**\

You may only use the **rotate** command when:

• The selected recording session was created in normal mode or in network streaming mode (see [**lttng-create**(1)](/lttng-create/1.md)).

• LTTng is not currently performing an immediate rotation (this command).

## OPTIONS

See [**lttng**(1)](/lttng/1.md) for *GENERAL OPTIONS*.

- **-n**, **--no-wait**

  Do not ensure that the recording session rotation operation is completed before exiting.

### Program information

- **-h**, **--help**

  Show help.

  This option attempts to launch **/usr/bin/man** to view this manual page. Override the manual pager path with the **LTTNG\_MAN\_BIN\_PATH** environment variable.

- **--list-options**

  List available command options and quit.

## EXIT STATUS

**0**

Success

**1**

Command error

**2**

Undefined command

**3**

Fatal error

**4**

Command warning (something went wrong during the command)

## ENVIRONMENT

**LTTNG\_ABORT\_ON\_ERROR**

Set to **1** to abort the process after the first error is encountered.

**LTTNG\_HOME**

Path to the LTTng home directory.

Defaults to **$HOME**.

Useful when the Unix user running the commands has a non-writable home directory.

**LTTNG\_MAN\_BIN\_PATH**

Absolute path to the manual pager to use to read the LTTng command-line help (with [**lttng-help**(1)](/lttng-help/1.md) or with the **--help** option) instead of **/usr/bin/man**.

**LTTNG\_SESSION\_CONFIG\_XSD\_PATH**

Path to the directory containing the **session.xsd** recording session configuration XML schema.

**LTTNG\_SESSIOND\_PATH**

Absolute path to the LTTng session daemon binary (see [**lttng-sessiond**(8)](/lttng-sessiond/8.md)) to spawn from the [**lttng-create**(1)](/lttng-create/1.md) command.

The **--sessiond-path** general option overrides this environment variable.

## FILES

**$LTTNG\_HOME/.lttngrc**

Unix user’s LTTng runtime configuration.

This is where LTTng stores the name of the Unix user’s current recording session between executions of [**lttng**(1)](/lttng/1.md). [**lttng-create**(1)](/lttng-create/1.md) and [**lttng-set-session**(1)](/lttng-set-session/1.md) set the current recording session.

**$LTTNG\_HOME/lttng-traces**

Default output directory of LTTng traces in local and snapshot modes.

Override this path with the **--output** option of the [**lttng-create**(1)](/lttng-create/1.md) command.

**$LTTNG\_HOME/.lttng**

Unix user’s LTTng runtime and configuration directory.

**$LTTNG\_HOME/.lttng/sessions**

Default directory containing the Unix user’s saved recording session configurations (see [**lttng-save**(1)](/lttng-save/1.md) and [**lttng-load**(1)](/lttng-load/1.md)).

**/etc/lttng/sessions**

Directory containing the system-wide saved recording session configurations (see [**lttng-save**(1)](/lttng-save/1.md) and [**lttng-load**(1)](/lttng-load/1.md)).

**Note**\

**$LTTNG\_HOME** defaults to the value of the **HOME** environment variable.

## EXAMPLES

**Example 1. Rotate the current recording session.**

```
$ lttng rotate
```

**Example 2. Rotate a specific recording session.**

```
$ lttng rotate my-session
```

**Example 3. Rotate the current recording session without waiting for completion.**

See the **--no-wait** option.

```
$ lttng rotate --no-wait
```

## RESOURCES

• LTTng project website \<https://lttng.org\>

• LTTng documentation \<https://lttng.org/docs\>

• LTTng bug tracker \<https://bugs.lttng.org\>

• Git repositories \<https://git.lttng.org\>

• GitHub organization \<https://github.com/lttng\>

• Continuous integration \<https://ci.lttng.org/\>

• Mailing list \<https://lists.lttng.org/\> for support and development: **lttng-dev@lists.lttng.org**

• IRC channel \<irc://irc.oftc.net/lttng\>: **#lttng** on **irc.oftc.net**

## COPYRIGHT

This program is part of the LTTng-tools project.

LTTng-tools is distributed under the GNU General Public License version 2 \<http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html\>. See the **LICENSE** \<https://github.com/lttng/lttng-tools/blob/master/LICENSE\> file for details.

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

## SEE ALSO

[**lttng**(1)](/lttng/1.md), [**lttng-disable-rotation**(1)](/lttng-disable-rotation/1.md), [**lttng-enable-rotation**(1)](/lttng-enable-rotation/1.md), [**lttng-concepts**(7)](/lttng-concepts/7.md)
