NAME
lttng-track - Allow specific processes to record LTTng eventsSYNOPSIS
Allow specific processes to record Linux kernel events:lttng [GENERAL OPTIONS] track --kernel [--session=SESSION] ( --pid=PID[,PID]... | --vpid=VPID[,VPID]... | --uid=UID[,UID]... | --vuid=VUSER[,VUSER]... | --gid=GID[,GID]... | --vgid=VGROUP[,VGROUP]...)...
lttng [GENERAL OPTIONS] track --kernel [--session=SESSION] --all (--pid | --vpid | --uid | --vuid | --gid | --vgid)...
lttng [GENERAL OPTIONS] track --userspace [--session=SESSION] ( --vpid=VPID[,VPID]... | --vuid=VUSER[,VUSER]... | --vgid=VGROUP[,VGROUP]...)...
lttng [GENERAL OPTIONS] track --userspace [--session=SESSION] --all (--vpid | --vgid | --vuid)...
DESCRIPTION
The lttng track command allows one or more processes to record LTTng events based on their attributes within: With the --session=SESSION optionThe recording session named
SESSION.
Without the --session option
The current recording session (see
lttng-concepts(7) to learn more about the current recording
session).
•Process ID (PID).
•Virtual process ID (VPID).
This is the PID as seen by the application.
•Unix user ID (UID).
•Virtual Unix user ID (VUID).
This is the UID as seen by the application.
•Unix group ID (GID).
•Virtual Unix group ID (VGID).
This is the GID as seen by the application.
•VPID
•VUID
•VGID
1.Removes all the values
from IS.
This effectively makes IS empty.
2.Adds V to
IS.
$ lttng enable-event --kernel --all --syscall $ lttng track --kernel --pid=2345 $ lttng start
Inclusion set example
This example operates on the Linux kernel process ID (PID) inclusion set of the current recording session to show how an inclusion set works. 1.Initial inclusion set:
[0] [1] [2] [3] [4] [5] [6] [7]
2.Command:
Inclusion set is now:
$ lttng track --kernel --pid=3,6,7
[ ] [ ] [ ] [3] [ ] [ ] [6] [7]
3.Command:
Inclusion set is now:
$ lttng untrack --kernel --pid=7
[ ] [ ] [ ] [3] [ ] [ ] [6] [ ]
4.Command:
Inclusion set is now:
$ lttng track --kernel --pid=1,5
[ ] [1] [ ] [3] [ ] [5] [6] [ ]
OPTIONS
See lttng(1) for GENERAL OPTIONS.Tracing domain
One of: -k, --kernelAdd values to one or more Linux kernel
inclusion sets.
-u, --userspace
Add values to one or more user space inclusion
sets.
Recording target
-s SESSION, --session=SESSIONAdd values to 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, add PID
to 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, add VPID
to 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, add USER
to the user ID inclusion set of the selected recording session and domain.
USER is either:
Only available with --kernel option.
--vuid[=VUSER[,VUSER]...]
•The real user ID (see
getuid(3)) of a process as seen from the root user namespace (see
user_namespaces(7)).
•A user name.
The connected LTTng session daemon (see lttng-sessiond(8)) performs the
user name resolution on addition to the user ID inclusion set.
For each VUSER argument, add
VUSER to the virtual user ID inclusion set of the selected recording
session and domain.
VUSER is either:
--gid[=GROUP[,GROUP]...]
•The real user ID (see
getuid(3)) of a process as seen from the user namespace (see
user_namespaces(7)).
•A user name.
The connected LTTng session daemon (see lttng-sessiond(8)) performs the
user name resolution on addition to the virtual user ID inclusion set.
For each GROUP argument, add
GROUP to the group ID inclusion set of the selected recording session
and domain.
GROUP is either:
Only available with --kernel option.
--vgid[=VGROUP[,VGROUP]...]
•The real group ID (see
getgid(3)) of a process as seen from the root user namespace (see
user_namespaces(7)).
•A group name.
The connected LTTng session daemon (see lttng-sessiond(8)) performs the
group name resolution on addition to the group ID inclusion set.
For each VGROUP argument, add
VGROUP to 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 (see
user_namespaces(7)).
•A group name.
The connected LTTng session daemon (see lttng-sessiond(8)) performs the
group name resolution on addition to the virtual group ID inclusion set.
Inclusion set operation
-a, --allWith one or more empty --pid,
--vpid, --uid, --vuid, --gid, and --vgid
options: add all the possible values to the selected inclusion
sets.
Program information
-h, --helpShow 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
0Success
1
Command error
2
Undefined command
3
Fatal error
4
Command warning (something went wrong during
the command)
ENVIRONMENT
LTTNG_ABORT_ON_ERRORSet to 1 to 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_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_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.
FILES
$LTTNG_HOME/.lttngrcUnix 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 (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)).
EXAMPLES
Example 1. Add the PIDs 1728 and 3775 to the Linux kernel process ID inclusion set of the current recording session.$ lttng track --kernel --pid=1728,3775
$ lttng track --userspace --session=my-session --vuid=http
$ lttng track --kernel --all --gid
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:
[email protected]
•IRC channel
<irc://irc.oftc.net/lttng>: #lttng on irc.oftc.net
COPYRIGHT
This program is part of the LTTng-tools project.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.SEE ALSO
lttng(1), lttng-untrack(1), lttng-concepts(7)14 June 2021 | LTTng 2.13.9 |