File: lttng-track.1.txt

package info (click to toggle)
ltt-control 2.13.15-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 17,656 kB
  • sloc: ansic: 167,287; sh: 27,018; makefile: 2,828; python: 1,380; yacc: 692; lex: 129; java: 109; perl: 99; cpp: 35; xml: 23
file content (340 lines) | stat: -rw-r--r-- 8,804 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
lttng-track(1)
==============
:revdate: 14 June 2021


NAME
----
lttng-track - Allow specific processes to record LTTng events


SYNOPSIS
--------
Allow specific processes to record Linux kernel events:

[verse]
*lttng* ['linkgenoptions:(GENERAL OPTIONS)'] *track* option:--kernel [option:--session='SESSION']
      (option:--pid=PID[,PID]... | option:--vpid=VPID[,VPID]... |
       option:--uid=UID[,UID]... | option:--vuid=VUSER[,VUSER]... |
       option:--gid=GID[,GID]... | option:--vgid=VGROUP[,VGROUP]...)...


[verse]
*lttng* ['linkgenoptions:(GENERAL OPTIONS)'] *track* option:--kernel [option:--session='SESSION']
      option:--all (option:--pid | option:--vpid | option:--uid | option:--vuid | option:--gid | option:--vgid)...

Allow specific processes to record user space events:

[verse]
*lttng* ['linkgenoptions:(GENERAL OPTIONS)'] *track* option:--userspace [option:--session='SESSION']
      (option:--vpid=VPID[,VPID]... | option:--vuid=VUSER[,VUSER]... |
       option:--vgid=VGROUP[,VGROUP]...)...

[verse]
*lttng* ['linkgenoptions:(GENERAL OPTIONS)'] *track* option:--userspace [option:--session='SESSION']
      option:--all (option:--vpid | option:--vgid | option:--vuid)...


DESCRIPTION
-----------
The `lttng track` command allows one or more processes to record LTTng
events based on their attributes within:

With the option:--session='SESSION' option::
    The recording session named 'SESSION'.

Without the option:--session option::
    The current recording session (see man:lttng-concepts(7) to learn
    more about the current recording session).

See man:lttng-concepts(7) to learn more about recording sessions and
recording event rules.

The `track` command adds values to _inclusion sets_ of process
attributes. The available inclusion sets are, for a given recording
session:

With the option:--kernel option::
+
* 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.

With the option:--userspace option::
+
* VPID
* VUID
* VGID

When an event{nbsp}__E__ satisfies all the other explicit and implicit
conditions of an event rule{nbsp}__ER__, __ER__ matches{nbsp}__E__ if
the attributes of the process for which LTTng creates{nbsp}__E__ are
*all* part of the inclusion sets of the recording session and domain
of{nbsp}__ER__.

By default, on recording session creation (see man:lttng-create(1)),
all processes are allowed to record events. In other words, all the
inclusion sets of the recording session contain all the possible
process attribute values.

If a given inclusion set{nbsp}__IS__ contains all the possible values
(option:--all option), then using the `track` command to add one or more
values{nbsp}__V__ to{nbsp}__IS__:

. Removes all the values from{nbsp}__IS__.
+
This effectively makes{nbsp}__IS__ empty.

. Adds{nbsp}__V__ to{nbsp}__IS__.

Example: with the PID inclusion set, you can record all the system calls
of a given process:

[role="term"]
----
$ lttng enable-event --kernel --all --syscall
$ lttng track --kernel --pid=2345
$ lttng start
----

See the ``<<examples,EXAMPLES>>'' section below for usage examples.

Remove values from an inclusion set with the man:lttng-untrack(1)
command.


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.

Assume the maximum system PID is 7 for this example.

. Initial inclusion set:
+
-------------------------------
[0] [1] [2] [3] [4] [5] [6] [7]
-------------------------------

. Command:
+
[role="term"]
----
$ lttng track --kernel --pid=3,6,7
----
+
Inclusion set is now:
+
-------------------------------
[ ] [ ] [ ] [3] [ ] [ ] [6] [7]
-------------------------------

. Command:
+
[role="term"]
----
$ lttng untrack --kernel --pid=7
----
+
Inclusion set is now:
+
-------------------------------
[ ] [ ] [ ] [3] [ ] [ ] [6] [ ]
-------------------------------

. Command:
+
[role="term"]
----
$ lttng track --kernel --pid=1,5
----
+
Inclusion set is now:
+
-------------------------------
[ ] [1] [ ] [3] [ ] [5] [6] [ ]
-------------------------------

Remove values from an inclusion set with the man:lttng-untrack(1)
command.


include::common-lttng-cmd-options-head.txt[]


Tracing domain
~~~~~~~~~~~~~~
One of:

option:-k, option:--kernel::
    Add values to one or more Linux kernel inclusion sets.

option:-u, option:--userspace::
    Add values to one or more user space inclusion sets.

Recording target
~~~~~~~~~~~~~~~~
option:-s 'SESSION', option:--session='SESSION'::
    Add values to one or more inclusion sets of the recording session
    named 'SESSION' instead of the current recording session.


Inclusion set selection
~~~~~~~~~~~~~~~~~~~~~~~
option:-p ['PID'[,'PID']...], option:--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 man:pid_namespaces(7)).
+
Only available with option:--kernel option.

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 man:pid_namespaces(7)).

option:--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:
+
--
* The real user ID (see man:getuid(3)) of a process as seen
  from the root user namespace (see man:user_namespaces(7)).

* A user name.
+
The connected LTTng session daemon (see man:lttng-sessiond(8)) performs
the user name resolution on addition to the user ID inclusion set.
--
+
Only available with option:--kernel option.

option:--vuid[='VUSER'[,'VUSER']...]::
    For each 'VUSER' argument, add 'VUSER' to the virtual user ID
    inclusion set of the selected recording session and domain.
+
'VUSER' is either:
+
--
* The real user ID (see man:getuid(3)) of a process as seen
  from the user namespace (see man:user_namespaces(7)).

* A user name.
+
The connected LTTng session daemon (see man:lttng-sessiond(8)) performs
the user name resolution on addition to the virtual user ID inclusion
set.
--

option:--gid[='GROUP'[,'GROUP']...]::
    For each 'GROUP' argument, add 'GROUP' to the group ID
    inclusion set of the selected recording session and domain.
+
'GROUP' is either:
+
--
* The real group ID (see man:getgid(3)) of a process as seen from the
  root user namespace (see man:user_namespaces(7)).

* A group name.
+
The connected LTTng session daemon (see man:lttng-sessiond(8)) performs
the group name resolution on addition to the group ID inclusion set.
--
+
Only available with option:--kernel option.

option:--vgid[='VGROUP'[,'VGROUP']...]::
    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 man:getgid(3)) of a process as seen
  from the user namespace (see man:user_namespaces(7)).

* A group name.
+
The connected LTTng session daemon (see man:lttng-sessiond(8)) performs
the group name resolution on addition to the virtual group ID inclusion
set.
--


Inclusion set operation
~~~~~~~~~~~~~~~~~~~~~~~
option:-a, option:--all::
    With one or more empty option:--pid, option:--vpid, option:--uid,
    option:--vuid, option:--gid, and option:--vgid options: add *all*
    the possible values to the selected inclusion sets.


include::common-lttng-cmd-help-options.txt[]


include::common-lttng-cmd-after-options.txt[]


[[examples]]
EXAMPLES
--------
.Add the PIDs 1728 and 3775 to the Linux kernel process ID inclusion set of the current recording session.
====
See the option:--pid option.

[role="term"]
----
$ lttng track --kernel --pid=1728,3775
----
====

.Add the ID of a specific user to the user space virtual user ID inclusion set of a specific recording session.
====
See the option:--vuid and option:--session options.

[role="term"]
----
$ lttng track --userspace --session=my-session --vuid=http
----
====

.Add all the possible group IDs to the Linux kernel group ID inclusion set of the current recording session.
====
See the option:--all and option:--gid options.

[role="term"]
----
$ lttng track --kernel --all --gid
----
====


include::common-footer.txt[]


SEE ALSO
--------
man:lttng(1),
man:lttng-untrack(1),
man:lttng-concepts(7)