LTTNG-ADD-CONTEXT(1)
π lttng-add-context β the LTTng Manual, bestie edition π
okay so welcome to the LTTNG-ADD-CONTEXT(1) page of the LTTng manual πΈ this is the one about adding context fields to be recorded by LTTng, and honestly it's giving main character energy once you get it.
β¨ NAME β¨
lttng-add-context β Add context fields to be recorded by LTTng π
π¦ SYNOPSIS π¦
Add context fields to be recorded to the event records of one or more channels:
lttng [GENERAL OPTIONS] add-context
(--kernel | --userspace | --jul | --log4j | --log4j2)
[--session=SESSION] [--channel=CHANNEL]
--type=TYPE [--type=TYPE]...
List the available context field types:
lttng [GENERAL OPTIONS] add-context --list
π DESCRIPTION π
The lttng add-context command can do two totally different things depending on the vibe:
- Without the
--listoption β Add one or more context fields to be recorded by LTTng to the event records of:- With the
--session=SESSIONoption β The recording session named SESSION. - Without the
--sessionoption β The current recording session (seelttng-concepts(7)to learn more about the current recording session, bestie). - With the
--channel=CHANNELβ The channel named CHANNEL. - Without the
--channeloption β All the channels of the selected recording session.
- With the
- With the
--listoption β List the available context field types.
See lttng-concepts(7) to learn more about recording sessions and channels π₯
Repeat the --type=TYPE option to add more than one context field to be recorded. TYPE is one of:
- A statically-known, or built-in context field name.
- A perf counter name:
- Per-CPU
- Prefix:
perf:cpu: - Only available with the
--kerneloption.
- Prefix:
- Per-thread
- Prefix:
perf:thread: - Only available with the
--userspace,--jul,--log4j, or--log4j2option.
- Prefix:
- Per-CPU
Add Performance Monitoring Unit (PMU) counter context fields by raw ID with the perf:cpu:raw:rN:NAME (--kernel option) or perf:thread:raw:rN:NAME (--userspace, --jul, --log4j, or --log4j2 option) types, with:
- N β A hexadecimal event descriptor which follows the
perf-record(1)format: a concatenation of the event number and umask value which the manufacturer of the processor provides.
The possible values for this part are processor-specific.
- NAME β Custom name to identify the counter.
- An LTTng application-specific context field name:
$app.PROVIDER:TYPE
- PROVIDER β Provider name.
- TYPE β Context type name.
Only available with the --jul, --log4j, and --log4j2 options.
Important π β Make sure to single-quote TYPE when you run theadd-contextcommand from a shell, as$is a special character for variable substitution in most shells. literally do not skip this one.
Note π«Ά β As of LTTng 2.15.1, you may NOT add context fields to be recorded to the event records of a given channel once its recording session has been started (see lttng-start(1)) at least once. periodt.
See the βEXAMPLESβ section below for usage examples β¨
π OPTIONS π
See lttng(1) for GENERAL OPTIONS.
π Tracing domain
One of:
-j,--julβ Add context fields to be recorded to the event records of one or more channels of thejava.util.logging(JUL) tracing domain.-k,--kernelβ Add context fields to be recorded to the event records of one or more channels of the Linux kernel tracing domain.-l,--log4jβ Add context fields to be recorded to the event records of one or more channels of the Apache log4j 1.x tracing domain.--log4j2β Add context fields to be recorded to the event records of one or more channels of the Apache Log4j 2 tracing domain.-u,--userspaceβ Add context fields to be recorded to the event records of one or more channels of the user space tracing domain.
π¦ Recording target
-c CHANNEL,--channel=CHANNELβ Add context fields to be recorded to the event records of a channel named CHANNEL instead of all the channels of the selected recording session.-s SESSION,--session=SESSIONβ Add context fields to be recorded to the event records of one or more channels of the recording session named SESSION instead of the current recording session.
β Context field type
--listβ List the available context field types.
You may NOT use this option with the --channel, --session, or --type options. (nope, not happening π
ββοΈ)
-t TYPE,--type=TYPEβ Add a context field having the type TYPE to be recorded.
Repeat this option to add more than one context field.
π§ 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 error2β Undefined command3β Fatal error4β Command warning (something went wrong during the command)
πΈ ENVIRONMENT πΈ
LTTNG_ABORT_ON_ERRORβ Set to1to 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 to1to use the legacy output format (LTTng 2.14 and earlier) for thelttng-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 (withlttng-help(1)or with the--helpoption) instead of/usr/bin/man.LTTNG_NO_UTF_8β Set to1to 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 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.
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 settingLTTNG_TERM_COLORtonever.
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 (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. List the available context field types.
See the --list option.
$ lttng add-context --list
Example 2. Add a single statically-known context field to be recorded to all the Linux kernel channels of the current recording session.
$ lttng add-context --kernel --type=pid
Example 3. Add three statically-known context fields to be recorded to a specific user space channel of a specific recording session.
See the --session and --channel options.
$ lttng add-context --userspace --session=my-session \
--channel=my-channel \
--type=vpid --type=procname --type=ip
Example 4. Add a perf counter context field to be recorded to a specific Linux kernel channel of the current recording session.
See the --channel option.
$ lttng add-context --kernel --channel=my-channel \
--type=perf:cpu:cache-misses
Example 5. Add an LTTng application-specific context field to be recorded to all the JUL channels of the current recording session.
$ lttng add-context --jul --type='$app.my_server:user_cnt'
π 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:#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 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-enable-channel(1), lttng-concepts(7)
and that's the whole page, bestie π this was LTTng 2.15.1, dated 1 April 2025, and it's the LTTNG-ADD-CONTEXT(1) manual page β go forth and contextualize your event records, you absolute icon πβ¨
π¦ 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