LTTNG-UNTRACK(1)
π
lttng-untrack π
(from the LTTng Manual, section 1)
okay so hi bestie!! π«Ά this is the page for lttng-untrack, and it's here to help you tell processes "nope, not you, you don't get to record events" π
no cap. Let's get into it, it's literally all laid out below.
β¨ NAME β¨
lttng-untrack β disallow specific processes to record LTTng events π«π
πΈ SYNOPSIS πΈ
Disallow specific processes to record Linux kernel events:
lttng [GENERAL OPTIONS] untrack --kernel [--session=SESSION]
(--pid=PID[,PID]... | --vpid=VPID[,VPID]... |
--uid=UID[,UID]... | --vuid=VUSER[,VUSER]... |
--gid=GID[,GID]... | --vgid=VGROUP[,VGROUP]...)...
lttng [GENERAL OPTIONS] untrack --kernel [--session=SESSION]
--all (--pid | --vpid | --uid | --vuid | --gid | --vgid)...
Disallow specific processes to record user space events:
lttng [GENERAL OPTIONS] untrack --userspace [--session=SESSION]
(--vpid=VPID[,VPID]... | --vuid=VUSER[,VUSER]... |
--vgid=VGROUP[,VGROUP]...)...
lttng [GENERAL OPTIONS] untrack --userspace [--session=SESSION]
--all (--vpid | --vgid | --vuid)...
π¦ DESCRIPTION π¦
The lttng untrack command disallows one or more processes to record LTTng events based on their attributes β and where those attributes are checked depends on whether you pass --session or not:
- With the
--session=SESSIONoption β you're working on the recording session named SESSION π - Without the
--sessionoption β you're working on the current recording session (peeplttng-concepts(7)to learn more about the current recording session) π«Ά
See lttng-concepts(7) to learn more about recording sessions and recording event rules. fr fr, that page is the lore. π
The untrack command removes values from inclusion sets of process attributes. See lttng-track(1) to learn more about inclusion sets. (track = let them in, untrack = show them the door πͺβ¨)
See the βEXAMPLESβ section below for usage examples.
π§ Inclusion set example π§
A common operation is to create a recording session (see lttng-create(1)), remove all the entries from the Linux kernel process ID inclusion set, start recording, and then manually add PIDs while the recording session is active. it's giving control freak, but make it observability π
Assume the maximum system PID is 7 for this example. (yes, seven. tiny system. babygirl CPU. π)
- Command:
$ lttng create
Initial inclusion set:
[0] [1] [2] [3] [4] [5] [6] [7]
- Command:
$ lttng untrack --kernel --all --pid
Inclusion set:
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
- Commands:
$ lttng enable-event --kernel ...
$ lttng start
$ # ...
$ lttng track --kernel --pid=3,5
Inclusion set:
[ ] [ ] [ ] [3] [ ] [5] [ ] [ ]
- Command:
$ lttng track --kernel --pid=2
Inclusion set:
[ ] [ ] [2] [3] [ ] [5] [ ] [ ]
π OPTIONS π
See lttng(1) for GENERAL OPTIONS. (the basics, the appetizers, the little starter kit π)
π Tracing domain π
One of: (you literally pick one, bestie, don't be greedy)
-k,--kernelβ Remove values from one or more Linux kernel inclusion sets. π§-u,--userspaceβ Remove values from one or more user space inclusion sets. π§βπ»
π Recording target π
-sSESSION,--session=SESSION β Remove values from one or more inclusion sets of the recording session named SESSION instead of the current recording session. π«
π Inclusion set selection π
-p[PID[,PID]...],--pid[=PID[,PID]...]β For each PID argument, remove PID from the process ID inclusion set of the selected recording session and domain.
PID is the process ID attribute of a process as seen from the root PID namespace (see pid_namespaces(7)).
Only available with --kernel option.
--vpid[=VPID[,VPID]...]β For each VPID argument, remove VPID from the virtual process ID inclusion set of the selected recording session and domain.
VPID is the virtual process ID attribute of a process as seen from the PID namespace of the process (see pid_namespaces(7)).
--uid[=USER[,USER]...]β For each USER argument, remove USER from the user ID inclusion set of the selected recording session and domain.
USER is either:
- The real user ID (see
getuid(3)) of a process as seen from the root user namespace (seeuser_namespaces(7)). - A user name.
The connected LTTng session daemon (see lttng-sessiond(8)) performs the user name resolution on removal from the user ID inclusion set. π΅οΈββοΈ
Only available with --kernel option.
--vuid[=VUSER[,VUSER]...]β For each VUSER argument, remove VUSER from the virtual user ID inclusion set of the selected recording session and domain.
VUSER is either:
- The real user ID (see
getuid(3)) of a process as seen from the user namespace (seeuser_namespaces(7)). - A user name.
The connected LTTng session daemon (see lttng-sessiond(8)) performs the user name resolution on removal from the virtual user ID inclusion set. π΅οΈββοΈ
--gid[=GROUP[,GROUP]...]β For each GROUP argument, remove GROUP from the group ID inclusion set of the selected recording session and domain.
GROUP is either:
- The real group ID (see
getgid(3)) of a process as seen from the root user namespace (seeuser_namespaces(7)). - A group name.
The connected LTTng session daemon (see lttng-sessiond(8)) performs the group name resolution on removal from the group ID inclusion set. π΅οΈββοΈ
Only available with --kernel option.
--vgid[=VGROUP[,VGROUP]...]β For each VGROUP argument, remove VGROUP from the virtual group ID inclusion set of the selected recording session and domain.
VGROUP is either:
- The real group ID (see
getgid(3)) of a process as seen from the user namespace (seeuser_namespaces(7)). - A group name.
The connected LTTng session daemon (see lttng-sessiond(8)) performs the group name resolution on removal from the virtual group ID inclusion set. π΅οΈββοΈ
π Inclusion set operation π
-a,--allβ With one or more empty--pid,--vpid,--uid,--vuid,--gid, and--vgidoptions: clear the selected inclusion sets. π everything must go, clean sweep, empty set era
β 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 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. π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 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. Remove the PIDs 1728 and 3775 from the Linux kernel process ID inclusion set of the current recording session.
See the --pid option.
$ lttng untrack --kernel --pid=1728,3775
Example 2. Remove the IDs of a specific groups from the user space virtual group ID inclusion set of a specific recording session.
See the --vgid and --session options.
$ lttng untrack --userspace --session=my-session \
--vgid=docker,mysql
Example 3. Remove all the user IDs from the Linux kernel user ID inclusion set of the current recording session.
See the --all and --uid options.
$ lttng untrack --kernel --all --uid
π§ 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 file (https://github.com/lttng/lttng-tools/blob/master/LICENSE) for details.
π THANKS π
Ok so real talk, this page would NOT exist without some absolute legends, and we're gonna shout them out properly bestie π«Ά
- Special thanks to Michel Dagenais and the DORSAL laboratory β the whole DORSAL crew at the lab (the URL is
http://www.dorsal.polymtl.ca/, go peek) β they're the reason the whole LTTng journey even happened β¨ Ngl, "for the LTTng journey" is such a soft way to put it, it's giving origin story π - Also thanks to the Ericsson teams working on tracing β the way they helped us greatly, with detailed bug reports and unusual test cases π Like bestie, unusual test cases?? That's a love language fr fr. Those reports and weird edge cases did so much heavy lifting for us π
π SEE ALSO π
The little group chat of related pages β go read these too, they're iconic:
πΈ and that's the whole page bestie!! you ate it, every last line π β¨
This one ships as LTTng 2.15.1, dated 14 June 2021 β so if you're citing her, that's the whole vibe check. Mwah, go trace something cute πππ¦
π¦ 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