LTTNG-LIST(1)

πŸ’… NAME πŸ’…

lttng-list β€” okay bestie, this one lists your LTTng recording sessions AND your instrumentation points. Two-for-one. Iconic.


✨ SYNOPSIS ✨

List the recording sessions:

lttng [GENERAL OPTIONS] list

List the tracing domains of a recording session:

lttng [GENERAL OPTIONS] list --domain SESSION

List the channels and recording event rules of a recording session:

lttng [GENERAL OPTIONS] list [--channel=CHANNEL] SESSION
      [--kernel] [--userspace] [--jul] [--log4j] [--log4j2] [--python]
      [--style=(compact | breathe)] [--no-truncate]
      [--mem-usage=(total | compact | full)]

List the available LTTng tracepoints, Linux system calls, and/or Java/Python loggers:

lttng [GENERAL OPTIONS] list
      [--kernel [--syscall]] [--userspace [--fields]]
      [--jul] [--log4j] [--log4j2] [--python]

πŸ¦‹ DESCRIPTION πŸ¦‹

The lttng list command lists things. Which things? Depends on how you ask, babe. Here's the whole menu:

  • Without arguments The recording sessions of your Unix user, or of all users if your Unix user is root, within the connected session daemon.

Peep the β€œSession daemon connection” section of lttng(1) to learn how a user application connects to a session daemon. (Yes, that's a whole thing, go read it.)

The command shows recording session properties like their output directories/URLs and whether or not they're active.

The name of the current recording session is underlined. Underlined. Like it's the main character or something. πŸ’…

  • With the SESSION argument
    • With the --domain option The tracing domains of the recording session named SESSION.
    • Without the --domain option
      • With the --channel=CHANNEL option The recording event rules of the channel(s) CHANNEL of the recording session named SESSION.
      • Without the --channel option The channels of the recording session named SESSION and their recording event rules.

By default, the command shows the total memory usage of each channel. Control the memory usage display mode with the --mem-usage option.

Use the dedicated tracing domain options (--kernel, --userspace, --jul, --log4j, --log4j2, and --python) to only show specific channels.

  • Without the SESSION argument and with at least one dedicated tracing domain option
    • With the --kernel option
      • Without the --syscall option The available LTTng kernel tracepoints.
      • With the --syscall option The available instrumented Linux system calls.
    • With the --userspace option The available LTTng user space tracepoints.

Also list the available instrumentation point fields with the --fields option.

  • With the --jul, --log4j, --log4j2, and/or --python options The available java.util.logging, Apache log4j 1.x, Apache Log4j 2 and/or Python logger names.

See lttng-concepts(7) to learn more about recording sessions, tracing domains, channels, recording event rules, and instrumentation points. Fr fr, it's all in there.

By default, the command adds empty lines between blocks of related information. Remove those empty lines with the --style=compact option.

This command shows colored text when the terminal supports it. Override the terminal coloring behaviour with the LTTNG_TERM_COLOR and NO_COLOR environment variables.

See the β€œEXAMPLES” section below for usage examples.

List the channels and recording event rules of the current recording session (see lttng-concepts(7) to learn more) with the lttng-status(1) command.

🌈 Visual language 🌈

The lttng list command uses a structured visual language designed to make complex tracing configurations easier to read and scan. It combines terminal colors, Unicode symbols, and indentation to express hierarchy, state, and metadata. Basically it's giving organized. Aesthetic. Cohesive.

Color semantics:

  • Green β€” Enabled, active, or valid items. βœ… vibes
  • Red β€” Disabled, inactive, or invalid items. 🚫 vibes
  • Cyan β€” Important object nodes: recording sessions, tracing domains, channels, and event rules.

Those nodes act as section headers.

  • Yellow β€” Metadata such as counts and timestamps.
  • Magenta β€” Warning information.

Symbolic conventions:

  • β€’ and β—Ό β€” Active/inactive recording session.
  • βœ“ and Γ— β€” Enabled/disabled channel or event rule.
  • πŸž‚ β€” Attribute or attribute group.
  • ┆ β€” Vertical continuation.

πŸ‘‘ OPTIONS πŸ‘‘

See lttng(1) for GENERAL OPTIONS. Those are somebody else's section, not ours.

🧚 Tracing domain

  • -j, --jul
    • Without the SESSION argument List the java.util.logging logger names.
    • With the SESSION argument Only list the java.util.logging recording event rules.
  • -k, --kernel
    • Without the SESSION argument List the LTTng kernel instrumentation points.
    • With the SESSION argument Only list the Linux kernel channels and their recording event rules.
  • -l, --log4j
    • Without the SESSION argument List the Apache log4j 1.x logger names.
    • With the SESSION argument Only list the Apache log4j 1.x recording event rules.
  • --log4j2
    • Without the SESSION argument List the Apache Log4j 2 logger names.
    • With the SESSION argument Only list the Apache Log4j 2 recording event rules.
  • -p, --python
    • Without the SESSION argument List the Python logger names.
    • With the SESSION argument Only list the Python recording event rules.
  • -u, --userspace
    • Without the SESSION argument List the LTTng user space tracepoints.
    • With the SESSION argument Only list the user space channels and their recording event rules.

πŸ“ Filtering

  • -c CHANNEL, --channel=CHANNEL β€” Only list the properties and recording event rules of the channel(s) named CHANNEL.

Only available with the SESSION argument. No SESSION, no dice.

  • -d, --domain β€” Show the tracing domains of the recording session named SESSION.
  • -f, --fields β€” When listing user space tracepoints, also show their fields if they're available.
  • --syscall β€” When listing LTTng kernel instrumentation points, only list Linux system calls.

🌸 Display

  • --mem-usage=MODE β€” Set the channel memory usage display mode to MODE.

MODE is one of:

  • total (default) β€” Show the total memory usage of the channel.
  • compact β€” Show the memory usage for each Unix user or process, depending on the buffer ownership model of the channel (see the --buffer-ownership option of lttng-enable-channel(1)).
  • full β€” Show the memory usage for each CPU (if available).

Only available with the SESSION argument.

  • --no-truncate β€” Do NOT truncate long output lines.

By default, the command truncates lines, adding an ellipsis, to fit the current terminal width. Rude, honestly, but okay.

  • --style=STYLE β€” Set the command output style to STYLE.

STYLE is one of:

  • breathe (default) β€” Add empty lines to make blocks of related information stand out.
  • compact β€” Make the the output compact.

πŸ’œ 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. We ate. πŸŽ€
  • 1 β€” Command error
  • 2 β€” Undefined command
  • 3 β€” Fatal error
  • 4 β€” Command warning (something went wrong during the command)

🌈 ENVIRONMENT 🌈

okay bestie, these are the env vars that change how lttng behaves. set them in your shell, export them, live your truth πŸ’…

  • LTTNG_ABORT_ON_ERROR β€” set it to 1 and the process bails out the literal second it hits its first error. one strike, you're out, no cap.
  • LTTNG_HOME β€” the path to your LTTng home directory, bestie.

It defaults to $HOME.

Super useful when the Unix user running the commands has a home directory that isn't writable β€” been there, it's giving chaos, so set this instead. ✨

  • LTTNG_LIST_LEGACY β€” set it to 1 to use the old legacy output format (that's LTTng 2.14 and earlier energy) for the lttng-list(1) command instead of the modern output format.
heads up though: the legacy output doesn't show anything related to features that came out after LTTng 2.14. so like, you're missing stuff. just so you know. πŸ™ˆ
  • LTTNG_MAN_BIN_PATH β€” absolute path to the manual pager to use when reading the LTTng command-line help (via lttng-help(1) or with the --help option) instead of /usr/bin/man.
  • LTTNG_NO_UTF_8 β€” set it to 1 to NOT emit multi-byte UTF-8 sequences β€” even if your locale is out here claiming it supports it. the audacity of locales fr fr.
  • 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 (peep lttng-sessiond(8)) to spawn from the lttng-create(1) command.

the --sessiond-path general option overrides this environment variable. option beats env var, periodt.

  • LTTNG_TERM_COLOR β€” controls when to emit terminal SGR codes in the output. πŸ’…

The NO_COLOR environment variable overrides this one.

it's one of these three:

  • auto (default) β€” only emit SGR codes when the standard output is connected to a color-capable terminal.
  • always β€” always emit SGR codes. rainbow mode activated 🌈
  • never β€” never emit SGR codes. plain, minimalist, austere.
  • NO_COLOR β€” if it's set and it's not empty, then it's equivalent to setting LTTNG_TERM_COLOR to never.

go read NO_COLOR <https://no-color.org/> to learn more about the whole movement.


πŸŽ€ FILES πŸŽ€

here's where LTTng keeps all its little treasures, bestie 🫢

  • $LTTNG_HOME/.lttngrc β€” the 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). Both lttng-create(1) and lttng-set-session(1) set the current recording session. iconic behavior honestly.

  • $LTTNG_HOME/lttng-traces β€” the default output directory of LTTng traces in local and snapshot modes.

You can override this path with the --output option of the lttng-create(1) command.

  • $LTTNG_HOME/.lttng β€” the Unix user's LTTng runtime and configuration directory.
  • $LTTNG_HOME/.lttng/sessions β€” the default directory containing the Unix user's saved recording session configurations (see lttng-save(1) and lttng-load(1)).
  • /etc/lttng/sessions β€” the 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. don't forget it babes.

✨ EXAMPLES ✨

real scenarios, real commands, let's go πŸ¦‹

Example 1. List the recording sessions.

$ lttng list

Example 2. Show the details of a specific recording session.

$ lttng list my-session

Example 3. List the available Linux kernel system call instrumentation points.

$ lttng list --kernel --syscall

Example 4. List the available user space tracepoints with their fields.

See the --fields option.

$ lttng list --userspace --fields

Example 5. List the tracing domains of a specific recording session having at least one channel.

See the --domain option.

$ lttng list --domain my-session

Example 6. Show the details of a specific channel, including its current data stream infos, in a specific recording session.

See the --channel option.

$ lttng list my-session --channel=channel0 --stream-info-details

πŸ’œ RESOURCES πŸ’œ


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 file for details: https://github.com/lttng/lttng-tools/blob/master/LICENSE.


🌸 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. absolute legends, no notes. πŸ‘‘

Also thanks to the Ericsson teams working on tracing, who helped us greatly with detailed bug reports and unusual test cases. the unusual test cases especially β€” those are the ones that keep you humble 😭


πŸ‘€ SEE ALSO πŸ‘€

lttng(1), lttng-concepts(7)


and that's the whole page bestie, you're officially a lttng list scholar πŸŽ“πŸ’– this was LTTng 2.15.1, dated 2 December 2025 β€” go forth and list your little heart out ✨🫢

πŸ“¦ where this page comes from