LTTNG-SAVE(1)

πŸŽ€ LTTNG-SAVE β€” okay bestie, let's talk saving your sessions πŸ’Ύβœ¨

This is the manual page for lttng-save from the LTTng Manual, section 1. Sit down, grab a strawberry πŸ“, we're saving recording session configs and we're gonna do it right.


✨ NAME ✨

lttng-save β€” save LTTng recording session configurations πŸ’…


🌈 SYNOPSIS 🌈

lttng [GENERAL OPTIONS] save [--force] [--output-path=DIR]
      [--all | SESSION]

πŸ’– DESCRIPTION πŸ’–

So like, the lttng save command saves to files the configurations of… 🫢

  • With the SESSION argument β€” the recording session named SESSION. That one. Just her. πŸ‘‘
  • Without the SESSION argument β€” implicit --all option situation: 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. iykyk πŸ”Œ

Lowkey check lttng-concepts(7) to learn more about recording sessions, it's giving educational.

Use the save command in conjunction with the lttng-load(1) command to save and restore the complete configurations of recording sessions. Bestie duo fr fr. πŸ«‚

The save command does NOT save tracing data β€” only the recording session parameters, including the channel and recording event rule configurations. Not the data. Just the vibe (parameters). πŸ’€

The default output directory path is $LTTNG_HOME/.lttng/sessions ($LTTNG_HOME defaults to $HOME). Override the default output directory path with the --output-path option. Each recording session configuration file is named SNAME.lttng, where SNAME is the original recording session name. So cute, so consistent. πŸŽ€

By default, the save command does NOT overwrite existing recording session configuration files: the command fails. Allow the save command to overwrite existing recording session configuration files with the --force option. ⚠️

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


πŸ‘‘ OPTIONS πŸ‘‘

See lttng(1) for GENERAL OPTIONS, babes.

  • -a, --all β€” Save all the recording session configurations 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. Everyone's invited to the function. πŸŽ‰
  • -f, --force β€” Overwrite existing recording session configuration files when saving. Consent to be overwritten: granted. ✍️
  • -o DIR, --output-path=DIR β€” Save recording session configuration files to the directory DIR instead of $LTTNG_HOME/.lttng/sessions ($LTTNG_HOME defaults to $HOME). Pick your own venue, diva. 🏠

πŸ“š 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. A little menu of possibilities, iconic. πŸ“‹

πŸ”₯ EXIT STATUS πŸ”₯

  • 0 β€” Success. Ate and left no crumbs. βœ…
  • 1 β€” Command error.
  • 2 β€” Undefined command. 🀨
  • 3 β€” Fatal error. πŸ’€
  • 4 β€” Command warning (something went wrong during the command). She's fine but she's not fine. 😭

πŸ¦‹ ENVIRONMENT πŸ¦‹

  • LTTNG_ABORT_ON_ERROR β€” Set to 1 to abort the process after the first error is encountered. No second chances energy.
  • 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. (Been there. πŸ™ˆ)

  • 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. Old money aesthetic but she's missing ✨features✨.

  • 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. Plain text only, minimalist moment.
  • 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. 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 of:

  • auto (default) β€” Only emit SGR codes when the standard output is connected to a color-capable terminal.
  • always β€” Always emit SGR codes. Rainbow always. 🌈
  • 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. Where the main character (your current session) is remembered. 🌟

  • $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. Save all the recording session configurations to the default output directory.

$ lttng save

Example 2. Save a specific recording session configuration to a specific output directory.

See the --output-path option. 🏑

$ lttng save my-session --output-path=/path/to/sessions

Example 3. Allow LTTng to overwrite existing recording session configuration files when saving.

See the --force option. 😀

$ lttng save --force

🌈 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 <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. Y'all were doing the most (affectionate). πŸ’–


🧚 SEE ALSO 🧚

lttng(1), lttng-load(1), lttng-concepts(7)


And that's the whole page bestie! This one's from LTTng 2.15.1, dated 14 June 2021 β€” yes that date is old but she's still iconic and serving. Go save those configs, no cap. πŸ’…βœ¨

πŸ“¦ where this page comes from