LTTNG-START(1)
β¨ NAME β¨
lttng-start β start one or more LTTng recording sessions π
okay so real quick, this is the manual page for lttng-start from the LTTng Manual, and bestie it is so much less scary than it looks. let's go π«Ά
πΈ SYNOPSIS πΈ
lttng [GENERAL OPTIONS] start [--all | --glob=PATTERN | SESSION]
like literally that's it. that's the whole shape of it. β¨
π DESCRIPTION π
the lttng start command starts one or more recording sessions β translation: it activates the LTTng tracers for whatever sessions you point it at.
here's the vibe check on which sessions get started, depending on what you give it:
- With the
SESSIONargument β it starts the recording session named SESSION. - With the
--glob=PATTERNoption β it starts the recording sessions whose name matches the globbing pattern PATTERN. - With the
--alloption β it starts all the recording sessions of the connected session daemon for your Unix user, or for all users if your Unix user isroot, exactly as listed in the output oflttng list(peeplttng-list(1)).
also: check the βSession daemon connectionβ section of lttng(1) to learn how a user application connects to a session daemon. iykyk π§
- Otherwise β it starts the current recording session.
see lttng-concepts(7) if you wanna learn more about the current recording session.
and yeah, lttng-concepts(7) is also where you go to learn more about recording sessions in general. obsessed with that page honestly π
π¨ ok important: the recording session(s) you select must be inactive (stopped). a recording session is inactive on creation (see lttng-create(1)).
also fun fact: a start-session trigger action can start a recording session too (see lttng-add-trigger(1)). so many ways to slay β¨
there's a whole βEXAMPLESβ section below if you want usage examples, no cap.
and when you're done and you wanna stop one or more active recording sessions? that's the lttng-stop(1) command's whole job. π
π OPTIONS π
these are the general options β see lttng(1) for GENERAL OPTIONS. π
π Program information π
-h,--helpβ show help. this option tries to launch/usr/bin/manto view this manual page. you can override the manual pager path with theLTTNG_MAN_BIN_PATHenvironment variable. so fancy β¨--list-optionsβ list the available command options and quit. short, sweet, iconic.-a,--allβ start all the recording sessions of your Unix user, or of all users if your Unix user isroot, as listed in the output oflttng-list(1). it's giving everything, everywhere πΈ-g PATTERN,--glob=PATTERNβ start the recording sessions of which the globbing pattern PATTERN matches the name.
and in PATTERN, the * character means βmatch anythingβ. if you want to match a literal * character, you write \*. that's the whole trick bestie πͺ
π 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 to1to abort the process after the first error is encountered. one strike and we're out, periodt.LTTNG_HOMEβ path to the LTTng home directory.
defaults to $HOME. π₯ super useful when the Unix user running the commands has a non-writable home directory.
LTTNG_LIST_LEGACYβ set to1to use the legacy output format (LTTng 2.14 and earlier) for thelttng-list(1)command instead of the modern output format.
heads up: the legacy output doesn't show anything related to features introduced after LTTng 2.14. so it's giving nostalgia, not completeness π
LTTNG_MAN_BIN_PATHβ absolute path to the manual pager to use to read the LTTng command-line help (withlttng-help(1)or with the--helpoption) instead of/usr/bin/man. pick your own pager, main character energy πLTTNG_NO_UTF_8β set to1to NOT emit multi-byte UTF-8 sequences, even if the locale claims to support it. (yes the double negative is on purpose, we don't make the rules π)LTTNG_SESSION_CONFIG_XSD_PATHβ path to the directory containing thesession.xsdrecording session configuration XML schema.LTTNG_SESSIOND_PATHβ absolute path to the LTTng session daemon binary (seelttng-sessiond(8)) to spawn from thelttng-create(1)command.
note that the --sessiond-path general option overrides this environment variable. so the flag wins, always β¨
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:
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 settingLTTNG_TERM_COLORtonever.
see NO_COLOR at 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). the lttng-create(1) and lttng-set-session(1) commands 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 (seelttng-save(1)andlttng-load(1)). πΎ/etc/lttng/sessionsβ directory containing the system-wide saved recording session configurations (seelttng-save(1)andlttng-load(1)). π
π Note β$LTTNG_HOMEdefaults to the value of theHOMEenvironment variable.
π EXAMPLES π
Example 1. Start the current recording session.
$ lttng start
Example 2. Start a specific recording session.
$ lttng start my-session
Example 3. Start all the recording sessions.
see the --all option. π
$ lttng start --all
Example 4. Start all the recording sessions of which the name ends with foo.
see the --glob option. π
$ lttng start --glob='*foo'
π§ 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 for support and development β
https://lists.lttng.org/βlttng-dev@lists.lttng.org - IRC channel β
irc://irc.oftc.net/lttngβ#lttngonirc.oftc.net - Mastodon β
https://mastodon.social/@lttng
π 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 file for details β https://github.com/lttng/lttng-tools/blob/master/LICENSE. π
πΈ THANKS πΈ
special thanks to Michel Dagenais and the DORSAL laboratory at Γcole Polytechnique de MontrΓ©al β http://www.dorsal.polymtl.ca/ β for the LTTng journey. π«Ά
also thanks to the Ericsson teams working on tracing, who helped us greatly with detailed bug reports and unusual test cases. literal legends, no cap π
β¨ SEE ALSO β¨
lttng(1), lttng-add-trigger(1), lttng-create(1), lttng-enable-event(1), lttng-stop(1), lttng-concepts(7)
okay that's the whole page bestie π this was LTTng 2.15.1, dated 1 April 2025, and yeah it's LTTNG-START(1) all day. go start those sessions, you've got this πβ¨π
π¦ where this page comes from
- ubuntu stonking: lttng-tools 2.15.1-1 Β· LGPL-2.1-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms