lttng - Man Page

Control LTTng tracing

Synopsis

lttng [--group=GROUP] [--mi=xml] [--no-sessiond | --sessiond-path=PATH]
      [--relayd-path=PATH] [--quiet | -verbose​...]
      COMMAND [COMMAND OPTIONS]

Description

The Linux Trace Toolkit: next generation <https://lttng.org/> is an open-source software package used for correlated tracing of the Linux kernel, user applications, and user libraries​.

LTTng consists of Linux kernel modules (for Linux kernel tracing) and dynamically loaded libraries (for user application and library tracing)​.

The lttng command-line tool, as well as any user application linked with the LTTng control library (liblttng-ctl), sends commands to a listening LTTng session daemon (lttng-sessiond(8))​. A session daemon:

By default, the lttng-create(1) command automatically spawns:

Note

The LTTng project recommends that you start the session daemon at boot time for stable and long-term tracing​.

See lttng-concepts(7) to learn more about the foundational concepts of LTTng​.

The lttng tool offers a subcommand-based command-line interface​. The “Commands” section below lists the available commands​.

Session daemon connection

For most of its commands, the lttng tool needs to connect to a listening LTTng session daemon (lttng-sessiond(8)) to control LTTng tracing​.

Each Unix user may have its own independent running session daemon​. However, the lttng tool must connect to the session daemon of the root user (the root session daemon) to control Linux kernel tracing​.

How the lttng tool chooses which session daemon to connect to is as follows:

If your Unix user is root

Connect to the root session daemon​.

If your Unix user is not root

If your Unix user is part of the Unix tracing group

Try to connect to the root session daemon​.

If the root session daemon isn’t running, connect to the session daemon of your Unix user​.

If your Unix user is not part of the tracing group

Connect to the session daemon of your Unix user​.

The name of the Unix tracing group is one of:

With the --group=GROUP option of the root session daemon (lttng-sessiond(8))

GROUP

In that case, you must use the --group=GROUP option, with the same GROUP argument, of the lttng tool​.

Without the --group option of the root session daemon

tracing

LTTng-instrumented user applications automatically register to both the root and user session daemons​. This makes it possible for both session daemons to list the available instrumented applications and their instrumentation points (see lttng-list(1))​.

Options

-g GROUP, --group=GROUP

Set the name of the Unix tracing group to GROUP instead of tracing​.

You must use this option to be able to connect to a root session daemon (lttng-sessiond(8)) which was started with its own --group=GROUP option​.

-m xml, --mi=xml

Print the command result using a stable XML machine interface (MI) output instead of the default, unstable human-readable output​.

With this mode, lttng prints the resulting XML document to the standard output, while it prints any error/warning to the standard error with an unstable, human-readable format​.

If any error occurs during the execution of lttng, the command exits with a status different than ​0, and lttng does NOT guarantee the syntax and data validity of its MI output​.

An XML schema definition (XSD) file used for validation of the MI output is available: see the src/common/mi_lttng.xsd file in the LTTng-tools source tree​.

-n,  --no-sessiond

Do not automatically spawn a session daemon for your Unix user when running the lttng-create(1) command​.

You may NOT use this option with the --sessiond-path option​.

-q,  --quiet

Suppress all messages, including warnings and errors​.

You may NOT use this option with the --verbose option​.

--sessiond-path=PATH

Set the absolute path of the session daemon binary to spawn from the lttng-create(1) command to PATH​.

You may NOT use this option with the --no-sessiond option​.

--relayd-path=PATH

Set the absolute path of the relay daemon binary to spawn from the lttng-create(1) command to PATH​.

-v,  --verbose

Increase verbosity​.

Specify this option up to three times to get more levels of verbosity​.

You may NOT use this option with the --quiet option​.

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

--list-commands

List available commands and quit​.

-V,  --version

Show version and quit​.

Commands

The following commands also have their own --help option​.

Recording session

CommandDescription
lttng-create(1)Create a recording session​.
lttng-destroy(1)Destroy recording sessions​.
lttng-disable-rotation(1)Unset a recording session rotation schedule​.
lttng-enable-rotation(1)Set a recording session rotation schedule​.
lttng-load(1)Load recording session configurations​.
lttng-regenerate(1)Regenerate specific recording session data​.
lttng-rotate(1)Archive the current trace chunk of a recording session​.
lttng-save(1)Save recording session configurations​.
lttng-set-session(1)Set the current recording session​.
lttng-snapshot(1)Take a recording session snapshot​.
lttng-start(1)Start recording sessions​.
lttng-status(1)Show the status of the current recording session​.
lttng-stop(1)Stop recording sessions​.

Event record channel

CommandDescription
lttng-add-context(1)Add context fields to be recorded​.
lttng-disable-channel(1)Disable event record channels​.
lttng-enable-channel(1)Create or enable an event record channel​.
lttng-reclaim-memory(1)Reclaim event record channel memory​.

Map channel

CommandDescription
lttng-add-map-channel(1)Add a map channel to a recording session​.
lttng-export-maps(1)Export the counter values of a recording session as SQL​.
lttng-show-maps(1)Show map values of a recording session​.

Recording event rule

CommandDescription
lttng-disable-event(1)Disable recording event rules​.
lttng-enable-event(1)Create or enable recording event rules​.

Information

CommandDescription
lttng-list(1)List recording sessions and instrumentation points​.

Resource tracking

CommandDescription
lttng-track(1)Allow specific processes to record events​.
lttng-untrack(1)Disallow specific processes to record events​.

Trigger

CommandDescription
lttng-add-trigger(1)Add a trigger​.
lttng-list-triggers(1)List triggers​.
lttng-remove-trigger(1)Remove a trigger​.

Miscellaneous

CommandDescription
lttng-help(1)Show the help of a command​.
lttng-version(1)Show LTTng-tools version information​.
lttng-view(1)Launch a trace reader​.

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_LIST_LEGACY

Set to 1 to use the legacy output format (LTTng ​2​.14 and earlier) for the lttng-list(1) command instead of the modern output format​.

Note that the legacy output doesn’t show anything related to features introduced after LTTng ​2​.14​.

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_NO_UTF_8

Set to 1 to NOT emit multi-byte UTF-8 sequences, even if the locale claims to support it​.

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

LTTNG_TERM_COLOR

Controls when to emit terminal SGR codes in the output​.

The NO_COLOR environment variable overrides this​.

One of:

auto (default)

Only emit SGR codes when the standard output is connected to a color-capable terminal​.

always

Always emit SGR codes​.

never

Never emit SGR codes​.

NO_COLOR

If set and not empty, then it’s equivalent to setting LTTNG_TERM_COLOR to never​.

See NO_COLOR <https://no-color.org/> to learn more​.

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))​.

/usr/local/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​.

Resources

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-concepts(7) lttng-relayd(8), lttng-sessiond(8)

Referenced By

babeltrace(1), babeltrace2-filter.lttng-utils.debug-info(7), babeltrace-log(1), lttng-add-context(1), lttng-add-map-channel(1), lttng-add-trigger(1), lttng-clear(1), lttng-concepts(7), lttng-crash(1), lttng-create(1), lttng-destroy(1), lttng-disable-channel(1), lttng-disable-event(1), lttng-disable-rotation(1), lttng-enable-channel(1), lttng-enable-event(1), lttng-enable-rotation(1), lttng-event-rule(7), lttng-export-maps(1), lttng-health-check(3), lttng-help(1), lttng-list(1), lttng-list-triggers(1), lttng-load(1), lttng-metadata(1), lttng-reclaim-memory(1), lttng-regenerate(1), lttng-relayd(8), lttng-remove-trigger(1), lttng-rotate(1), lttng-save(1), lttng-sessiond(8), lttng-set-session(1), lttng-show-maps(1), lttng-snapshot(1), lttng-start(1), lttng-status(1), lttng-stop(1), lttng-track(1), lttng-untrack(1), lttng-ust(3), lttng-ust-cyg-profile(3), lttng-ust-dl(3), lttng_ust_tracef(3), lttng_ust_tracelog(3), lttng-version(1), lttng-view(1).

4 December 2025 LTTng 2.16.0 LTTng Manual