LTTNG-DESTROY(1)

NAME
lttng-destroy - Destroy LTTng recording sessions

SYNOPSIS

lttng [GENERAL OPTIONS] destroy [--no-wait] [--all | SESSION]

DESCRIPTION

The lttng destroy command destroys:

With the SESSION argument
    The recording session named SESSION.

With the --all option
    All the recording sessions of the connected session daemon for your Unix user, or for all users if your Unix user is root, as listed in the output of lttng list (see lttng-list(1)).

    See the “Session daemon connection” section of lttng(1) to learn how a user application connects to a session daemon.

Otherwise
    The current recording session (see lttng-concepts(7) to learn more about the current recording session).

    In that case, the current recording session becomes nonexistent.

See lttng-concepts(7) to learn more about recording sessions.

“Destroying” a recording session means freeing the resources which the LTTng daemons and tracers acquired for it, also making sure to flush all the recorded trace data to either the local file system or the connected LTTng relay daemon (see lttng-relayd(8)), depending on the recording session mode.

The destroy command stops any recording activity within the selected recording session(s). By default, the command runs an implicit lttng-stop(1) command to ensure that the trace data of the recording session(s) is valid before it exits. Make the command exit immediately with the --no-wait option. In this case, however, the traces(s) might not be valid when the command exits, and there’s no way to know when it/they become valid.

If, for a recording session RS to destroy with the destroy command, the following statements are true:

    • You don’t specify the --no-wait option.

    • LTTng archived the current trace chunk (see lttng-concepts(7)) of RS at least once during its lifetime.

Then all the subdirectories of the output directory of RS (local or remote) are considered trace chunk archives once the destroy command exits. In other words, it’s safe to read them, modify them, move them, or remove then.

See the “EXAMPLES” section below for usage examples.

OPTIONS

See lttng(1) for GENERAL OPTIONS.

-a, --all
    Destroy all the recording sessions of your Unix user, or of all users if your Unix user is root, as listed in the output of lttng-list(1), instead of the current recording session or the recording session named SESSION.

-n, --no-wait
    Do NOT ensure that the trace data of the recording session(s) to destroy is valid 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) 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)) to spawn from the lttng-create(1) 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-create(1) and lttng-set-session(1) 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) 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) and lttng-load(1)).

/etc/lttng/sessions
    Directory containing the system-wide saved recording session configurations (see lttng-save(1) and lttng-load(1)).

Note

    $LTTNG_HOME defaults to the value of the HOME environment variable.

EXAMPLES

Example 1. Destroy the current recording session.

        $ lttng destroy

Example 2. Destroy the current recording session without waiting for completion.

    See the --no-wait option.

        $ lttng destroy --no-wait

Example 3. Destroy a specific recording session.

        $ lttng destroy my-session

Example 4. Destroy all recording sessions.

    See the --all option.

        $ lttng destroy --all

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-create(1), lttng-list(1), lttng-concepts(7)