Docs: lttng-event-rule(7): --exclude does not exist, use --exclude-name
[lttng-tools.git] / doc / man / lttng-event-rule.7.txt
CommitLineData
484b2a0c
PP
1lttng-event-rule(7)
2===================
a55e08e0 3:revdate: 18 May 2021
484b2a0c
PP
4
5
6NAME
7----
8lttng-event-rule - Common LTTng event rule specification
9
10
11SYNOPSIS
12--------
13Specify an event rule to match Linux kernel tracepoint or system call
14events:
15
16[verse]
a55e08e0 17option:--type=(**kernel:tracepoint** | **kernel:syscall**[**:entry**|**:exit**|**pass:[:entry+exit]**])]
484b2a0c
PP
18pass:[[]option:--name='NAME'] [option:--filter='EXPR']
19
20Specify an event rule to match Linux kernel kprobe or user space
21probe events:
22
23[verse]
a55e08e0 24option:--type=(**kernel:kprobe** | **kernel:uprobe**) option:--location='LOC'
4ccdbb61 25pass:[[]option:--event-name='EVENTNAME']
484b2a0c
PP
26
27Specify an event rule to match user space tracepoint events:
28
29[verse]
a55e08e0 30option:--type=**user:tracepoint** [option:--name='NAME'] [option:--exclude-name='XNAME']...
484b2a0c
PP
31pass:[[]option:--log-level=('LOGLEVEL' | 'LOGLEVEL'.. | ..)] [option:--filter='EXPR']
32
33Specify an event rule to match Java/Python logging events:
34
35[verse]
a55e08e0 36option:--type=(**jul** | **log4j** | **python**)**:logging** [option:--name='NAME']
484b2a0c
PP
37pass:[[]option:--log-level=('LOGLEVEL' | 'LOGLEVEL'.. | ..)] [option:--filter='EXPR']
38
39
40DESCRIPTION
41-----------
42This manual page shows how to specify an LTTng event rule on the command
43line.
44
45As of LTTng{nbsp}{lttng_version}, the command-line options documented
46here only apply to the `event-rule-matches` trigger condition specifier
47(see man:lttng-add-trigger(1)).
48
26f0c779
PP
49See man:lttng-concepts(7) to learn more about instrumentation points,
50events, and event rules.
51
484b2a0c
PP
52[NOTE]
53====
54This manual page only describes the common event rule options. The
55man:lttng(1) commands which require an event rule specification may
56accept or require other options and arguments, depending on the context.
57
58For example, the man:lttng-add-trigger(1) command also accepts
59nloption:--capture options with the `event-rule-matches` trigger
60condition.
61====
62
63
26f0c779
PP
64Overview of event rule condtions
65~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
484b2a0c
PP
66For LTTng to emit an event{nbsp}__E__,{nbsp}__E__ must satisfy *all* the
67conditions of an event rule, that is:
68
69* The instrumentation point from which LTTng creates{nbsp}__E__ has a
70 specific type.
71+
da39b67c
PP
72See the ``<<inst-point-type-cond,Instrumentation point type
73condition>>'' section below.
484b2a0c
PP
74
75* A pattern matches the name of{nbsp}__E__ while another pattern
76 doesn't.
77+
da39b67c 78See the ``<<event-name-cond,Event name condition>>'' section below.
484b2a0c
PP
79
80* The log level of the instrumentation point from which LTTng
81 creates{nbsp}__E__ is at least as severe as some value, or is exactly
82 some value.
83+
da39b67c
PP
84See the ``<<inst-point-log-level-cond,Instrumentation point log level
85condition>>'' section below.
484b2a0c
PP
86
87* The fields of the payload of{nbsp}__E__ and the current context fields
88 satisfy a filter expression.
89+
da39b67c 90See the ``<<filter-cond,Event payload and context filter condition>>''
484b2a0c
PP
91section below.
92
93The dedicated command-line options of most conditions are optional: if
94you don't specify the option, the associated condition is always
95satisfied.
96
97
98[[inst-point-type-cond]]
99Instrumentation point type condition
100~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101An event{nbsp}__E__ satisfies the instrumentation point type condition
102of an event rule if the instrumentation point from which LTTng
a55e08e0
PP
103creates{nbsp}__E__ is, depending on the argument of the option:--type
104option:
484b2a0c 105
a55e08e0
PP
106`kernel:tracepoint`::
107 An LTTng kernel tracepoint, that is, a statically defined point
108 in the source code of the kernel image or of a kernel module
109 with LTTng kernel tracer macros.
484b2a0c
PP
110+
111List the available Linux kernel tracepoints with `lttng list --kernel`.
112See man:lttng-list(1) to learn more.
113
a55e08e0
PP
114`kernel:syscall:entry`::
115`kernel:syscall:exit`::
116`kernel:syscall:entry+exit`::
117 The entry, exit, or entry and exit of a Linux kernel system
118 call.
484b2a0c
PP
119+
120List the available Linux kernel system call instrumentation points with
121`lttng list --kernel --syscall`. See man:lttng-list(1) to learn more.
122
a55e08e0
PP
123`kernel:kprobe`::
124 A Linux kprobe, that is, a single probe dynamically placed in
125 the compiled kernel code.
484b2a0c
PP
126+
127You must specify the kprobe location with the option:--location option.
128+
129The payload of a Linux kprobe event is empty.
130
a55e08e0
PP
131`kernel:uprobe`::
132 A Linux user space probe, that is, a single probe dynamically
133 placed at the entry of a compiled user space application/library
134 function through the kernel.
484b2a0c
PP
135+
136LTTng{nbsp}{lttng_version} supports the ELF and SystemTap User-level
137Statically Defined Tracing (USDT; a DTrace-style marker) probing
138methods. LTTng only supports USDT probes which are :not:
139reference-counted.
140+
141You must specify the user space probe location with the
142option:--location option.
143+
144The payload of a Linux user space probe event is empty.
145
a55e08e0
PP
146`user:tracepoint`::
147 An LTTng user space tracepoint, that is, a statically defined point
148 in the source code of a C/$$C++$$ application/library with LTTng
149 user space tracer macros.
484b2a0c
PP
150+
151List the available user space tracepoints with `lttng list --userspace`.
152See man:lttng-list(1) to learn more.
153
a55e08e0
PP
154`jul:logging`::
155 A `java.util.logging` logging statement.
484b2a0c 156+
a55e08e0
PP
157List the available `java.util.logging` loggers with `lttng list --jul`
158See man:lttng-list(1) to learn more.
159
160`log4j:logging`::
161 An Apache log4j logging statement.
484b2a0c 162+
a55e08e0
PP
163List the available Apache log4j loggers with `lttng list --log4j`
164See man:lttng-list(1) to learn more.
165
166`python:logging`::
167 A Python logging statement.
168+
169List the available Python loggers with `lttng list --python` See
170man:lttng-list(1) to learn more.
484b2a0c
PP
171
172
173[[event-name-cond]]
174Event name condition
175~~~~~~~~~~~~~~~~~~~~
176An event{nbsp}__E__ satisfies the event name condition of an event
177rule{nbsp}__ER__ if the two following statements are true:
178
179* You don't specify the option:--name='NAME' option or, depending on the
180 instrumentation type condition (see the
da39b67c
PP
181 ``<<inst-point-type-cond,Instrumentation point type condition>>''
182 section above) of{nbsp}__ER__, 'NAME' matches:
484b2a0c
PP
183+
184--
a55e08e0
PP
185`kernel:tracepoint`::
186`user:tracepoint`::
484b2a0c
PP
187 The full name of the tracepoint from which LTTng creates{nbsp}__E__.
188+
189Note that the full name of a user space tracepoint is
190__PROVIDER__++:++__NAME__, where __PROVIDER__ is the tracepoint provider
191name and __NAME__ is the tracepoint name.
192
a55e08e0
PP
193`jul:logging`::
194`log4j:logging`::
195`python:logging`::
484b2a0c
PP
196 The name of the Java or Python logger from which LTTng
197 creates{nbsp}__E__.
198
a55e08e0
PP
199`kernel:syscall:entry`::
200`kernel:syscall:exit`::
201`kernel:syscall:entry+exit`::
484b2a0c
PP
202 The name of the system call, without any `sys_` prefix, from which
203 LTTng creates{nbsp}__E__.
204--
205
206* You don't specify any option:--exclude-name='XNAME' option or
207 none of the 'XNAME' arguments matches the full name of the user space
208 tracepoint from which LTTng creates{nbsp}__E__.
209+
210The option:--exclude-name option is only available with the
a55e08e0 211option:--type=++user:tracepoint++ option.
484b2a0c
PP
212
213This condition is only meaningful for the LTTng tracepoint, logging
214statement, and Linux system call instrumentation point types: it's
215always satisfied for the other types.
216
217In all cases, 'NAME' and 'XNAME' are globbing patterns: the `*`
218character means ``match anything''. To match a literal `*` character,
219use :escwc:.
220
221IMPORTANT: Make sure to **single-quote** 'NAME' and 'XNAME' when they
222contain the `*` character and when you run an man:lttng(1) command from
223a shell.
224
225As of LTTng{nbsp}{lttng_version}, not specifying the option:--name
226option is equivalent to specifying option:--name=++\'*\'++, but this
227default may change in the future.
228
229
230[[inst-point-log-level-cond]]
231Instrumentation point log level condition
232~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233An event{nbsp}__E__ satisfies the instrumentation point log level
234condition of an event rule if either:
235
236* You specify the option:--log-level=++..++ option or you don't specify
237 the option:--log-level option.
238+
239Defaulting to option:--log-level=++..++ when you don't specify the
240option:--log-level option is specific to LTTng{nbsp}{lttng_version} and
241may change in the future.
242
243* The log level of the LTTng user space tracepoint or logging statement
244 from which LTTng creates{nbsp}__E__ is:
245 With the option:--log-level=__LOGLEVEL__++..++ option::
246 At least as severe as 'LOGLEVEL'.
247
248 With the option:--log-level=__LOGLEVEL__ option::
249 Exactly 'LOGLEVEL'.
250
251As of LTTng{nbsp}{lttng_version}, the ++..++__LOGLEVEL__ and
252__LOGLEVEL__++..++__LOGLEVEL__ formats are :not: supported.
253
254This condition is only meaningful for the LTTng user space tracepoint
255and logging statement instrumentation point types: it's always satisfied
256for other types.
257
a55e08e0
PP
258The available values of 'LOGLEVEL' are, depending on the argument of
259the option:--type option, from the most to the least severe:
484b2a0c 260
a55e08e0 261`user:tracepoint`::
484b2a0c 262+
4fc37e3e
PP
263* `EMERG` (0)
264* `ALERT` (1)
265* `CRIT` (2)
266* `ERR` (3)
267* `WARNING` (4)
268* `NOTICE` (5)
269* `INFO` (6)
270* `DEBUG_SYSTEM` (7)
271* `DEBUG_PROGRAM` (8)
272* `DEBUG_PROCESS` (9)
273* `DEBUG_MODULE` (10)
274* `DEBUG_UNIT` (11)
275* `DEBUG_FUNCTION` (12)
276* `DEBUG_LINE` (13)
277* `DEBUG` (14)
484b2a0c 278
a55e08e0 279`jul:logging`::
484b2a0c 280+
4fc37e3e
PP
281* `OFF` (`INT32_MAX`)
282* `SEVERE` (1000)
283* `WARNING` (900)
284* `INFO` (800)
285* `CONFIG` (700)
286* `FINE` (500)
287* `FINER` (400)
288* `FINEST` (300)
289* `ALL` (`INT32_MIN`)
484b2a0c 290
a55e08e0 291`log4j:logging`::
484b2a0c 292+
4fc37e3e
PP
293* `OFF` (`INT32_MAX`)
294* `FATAL` (50000)
295* `ERROR` (40000)
296* `WARN` (30000)
297* `INFO` (20000)
298* `DEBUG` (10000)
299* `TRACE` (5000)
300* `ALL` (`INT32_MIN`)
484b2a0c 301
a55e08e0 302`python:logging`::
484b2a0c 303+
4fc37e3e
PP
304* `CRITICAL` (50)
305* `ERROR` (40)
306* `WARNING` (30)
307* `INFO` (20)
308* `DEBUG` (10)
309* `NOTSET` (0)
484b2a0c
PP
310
311
312[[filter-cond]]
313Event payload and context filter condition
314~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
315An event{nbsp}__E__ satisfies the event payload and context filter
316condition of an event rule if the option:--filter='EXPR' option is
317missing or if 'EXPR' is _true_.
318
4ccdbb61
PP
319This condition is only meaningful for the LTTng tracepoint and Linux
320system call instrumentation point types: it's always satisfied for other
321types.
322
484b2a0c
PP
323'EXPR' can contain references to the payload fields of{nbsp}__E__ and
324to the current context fields.
325
326IMPORTANT: Make sure to **single-quote** 'EXPR' when you run an
327man:lttng(1) command from a shell, as filter expressions typically
328include characters having a special meaning for most shells.
329
330The expected syntax of 'EXPR' is similar to the syntax of a
331C{nbsp}language conditional expression (an expression which an `if`
332statement can evaluate), but there are a few differences:
333
334* A _NAME_ expression identifies an event payload field named
335 _NAME_ (a C{nbsp}identifier).
336+
337Use the C{nbsp}language dot and square bracket notations to access
338nested structure and array/sequence fields. You can only use a constant,
339positive integer number within square brackets. If the index is out of
340bounds, 'EXPR' is _false_.
341+
342The value of an enumeration field is an integer.
343+
344When a field expression doesn't exist, 'EXPR' is _false_.
345+
346Examples: `my_field`, `target_cpu`, `seq[7]`, `msg.user[1].data[2][17]`.
347
348* A ++$ctx.++__TYPE__ expression identifies the statically-known context
349 field having the type _TYPE_ (a C{nbsp}identifier).
350+
351List the available statically-known context field names with the
352man:lttng-add-context(1) command.
353+
354When a field expression doesn't exist, 'EXPR' is _false_.
355+
356Examples: `$ctx.prio`, `$ctx.preemptible`,
357`$ctx.perf:cpu:stalled-cycles-frontend`.
358
359* A ++$app.++__PROVIDER__++:++__TYPE__ expression identifies the
360 application-specific context field having the type _TYPE_ (a
361 C{nbsp}identifier) from the provider _PROVIDER_ (a C{nbsp}identifier).
362+
363When a field expression doesn't exist, 'EXPR' is _false_.
364+
365Example: `$app.server:cur_user`.
366
367* Compare strings, either string fields or string literals
368 (double-quoted), with the `==` and `!=` operators.
369+
370When comparing to a string literal, the `*` character means ``match
371anything''. To match a literal `*` character, use :escwc:.
372+
373Examples: `my_field == "user34"`, `my_field == my_other_field`,
374`my_field == "192.168.*"`.
375
376* The precedence table of the operators which are supported in 'EXPR'
377 is as follows. In this table, the highest precedence is{nbsp}1:
378+
379[options="header"]
380|===
381|Precedence |Operator |Description |Associativity
382|1 |`-` |Unary minus |Right-to-left
383|1 |`+` |Unary plus |Right-to-left
384|1 |`!` |Logical NOT |Right-to-left
385|1 |`~` |Bitwise NOT |Right-to-left
386|2 |`<<` |Bitwise left shift |Left-to-right
387|2 |`>>` |Bitwise right shift |Left-to-right
388|3 |`&` |Bitwise AND |Left-to-right
389|4 |`^` |Bitwise XOR |Left-to-right
390|5 |`\|` |Bitwise OR |Left-to-right
391|6 |`<` |Less than |Left-to-right
392|6 |`<=` |Less than or equal to |Left-to-right
393|6 |`>` |Greater than |Left-to-right
394|6 |`>=` |Greater than or equal to |Left-to-right
395|7 |`==` |Equal to |Left-to-right
396|7 |`!=` |Not equal to |Left-to-right
397|8 |`&&` |Logical AND |Left-to-right
398|9 |`\|\|` |Logical OR |Left-to-right
399|===
400+
401Parentheses are supported to bypass the default order.
402+
403IMPORTANT: Unlike the C{nbsp}language, the bitwise AND and OR operators
404(`&` and `|`) in 'EXPR' take precedence over relational operators (`<`,
405`<=`, `>`, `>=`, `==`, and `!=`). This means the expression `2 & 2 == 2`
406is _true_ while the equivalent C{nbsp}expression is _false_.
407+
408The arithmetic operators are :not: supported.
409+
410LTTng first casts all integer constants and fields to signed 64-bit
411integers. The representation of negative integers is two's complement.
412This means that, for example, the signed 8-bit integer field 0xff (-1)
413becomes 0xffffffffffffffff (still -1) once casted.
414+
415Before a bitwise operator is applied, LTTng casts all its operands to
416unsigned 64-bit integers, and then casts the result back to a signed
41764-bit integer. For the bitwise NOT operator, it's the equivalent of
418this C{nbsp}expression:
419+
420[source,c]
421----
422(int64_t) ~((uint64_t) val)
423----
424+
425For the binary bitwise operators, it's the equivalent of those
426C{nbsp}expressions:
427+
428[source,c]
429----
430(int64_t) ((uint64_t) lhs >> (uint64_t) rhs)
431(int64_t) ((uint64_t) lhs << (uint64_t) rhs)
432(int64_t) ((uint64_t) lhs & (uint64_t) rhs)
433(int64_t) ((uint64_t) lhs ^ (uint64_t) rhs)
434(int64_t) ((uint64_t) lhs | (uint64_t) rhs)
435----
436+
437If the right-hand side of a bitwise shift operator (`<<` and `>>`) is
438not in the [0,{nbsp}63] range, then 'EXPR' is _false_.
439
440'EXPR' examples:
441
442----------------------------
443msg_id == 23 && size >= 2048
444----------------------------
445
446-------------------------------------------------
447$ctx.procname == "lttng*" && (!flag || poel < 34)
448-------------------------------------------------
449
450---------------------------------------------------------
451$app.my_provider:my_context == 17.34e9 || some_enum >= 14
452---------------------------------------------------------
453
454---------------------------------------
455$ctx.cpu_id == 2 && filename != "*.log"
456---------------------------------------
457
458------------------------------------------------
459eax_reg & 0xff7 == 0x240 && x[4] >> 12 <= 0x1234
460------------------------------------------------
461
462
463Migration from a recording event rule specification
464~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
465Since LTTng{nbsp}2.13, what this manual page documents is the standard,
466common way to specify an LTTng event rule.
467
468With the man:lttng-enable-event(1) command, you also specify an event
469rule, but with deprecated options and arguments.
470
471The following table shows how to translate from the
472man:lttng-enable-event(1) options and arguments to the common event
473rule specification options:
474
475[options="header"]
476|===
477|Recording event rule option(s)/argument(s) |Common event rule option(s)
478
a55e08e0
PP
479|nloption:--kernel and nloption:--tracepoint
480|option:--type=++kernel:tracepoint++
481
482|nloption:--kernel and nloption:--syscall
483|option:--type=++kernel:syscall:entry+exit++
484
485|nloption:--probe='LOC' and 'RECORDNAME' (non-option)
486|option:--type=++kernel:kprobe++, option:--location='LOC', and
487option:--event-name='RECORDNAME'
488
489|nloption:--userspace-probe='LOC' and 'RECORDNAME' (non-option)
490|option:--type=++kernel:uprobe++, option:--location='LOC', and
491option:--event-name='RECORDNAME'
492
493|nloption:--function='LOC' and 'RECORDNAME' (non-option)
494|Not available as of LTTng{nbsp}{lttng_version}
495
496|nloption:--userspace and nloption:--tracepoint
497|option:--type=++user:tracepoint++
498
499|nloption:--jul and nloption:--tracepoint
500|option:--type=++jul:logging++
501
502|nloption:--log4j and nloption:--tracepoint
503|option:--type=++log4j:logging++
504
505|nloption:--python and nloption:--tracepoint
506|option:--type=++python:logging++
507
508|'NAME' (non-option)
509|option:--name='NAME'
510
511|nloption:--all
512|option:--name=++\'*\'++ or no option:--name option
513
514|nloption:--exclude=__XNAME__[++,++__XNAME__]...
515|option:--exclude-name='XNAME' for each 'XNAME'
516
517|nloption:--loglevel='LOGLEVEL'
518|option:--log-level=__LOGLEVEL__++..++
519
520|nloption:--loglevel-only='LOGLEVEL'
521|option:--log-level=__LOGLEVEL__
522
523|nloption:--filter='EXPR'
524|option:--filter='EXPR'
484b2a0c
PP
525|===
526
527
528OPTIONS
529-------
484b2a0c
PP
530Instrumentation point type condition
531~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
da39b67c
PP
532See the ``<<inst-point-type-cond,Instrumentation point type
533condition>>'' section above.
484b2a0c
PP
534
535option:-E 'NAME', option:--event-name='NAME'::
a55e08e0
PP
536 With the option:--type=++kernel:kprobe++ or
537 option:--type=++kernel:uprobe++ option, set the name of the emitted
538 events to 'NAME' instead of the 'LOC' argument of the
539 option:--location='LOC' option.
484b2a0c
PP
540+
541Defaulting to 'LOC' is specific to LTTng{nbsp}{lttng_version} and may
542change in the future.
543
544option:-L 'LOC', option:--location='LOC'::
a55e08e0 545 With the option:--type=++kernel:kprobe++ option:::
484b2a0c
PP
546 Set the location of the Linux kprobe to insert to 'LOC'.
547+
548'LOC' is one of:
549+
550* An address (`0x` hexadecimal prefix supported).
551* A symbol name.
552* A symbol name and an offset (__SYMBOL__++pass:[+]++__OFFSET__ format).
553
a55e08e0 554 With the option:--type=++kernel:uprobe++ option:::
484b2a0c
PP
555 Set the location of the user space probe to insert to 'LOC'.
556+
557'LOC' is one of:
558+
559\[++elf:++]__PATH__++:++__SYMBOL__::::
560 An available symbol within a user space application or library.
561+
562--
563'PATH'::
564 Application or library path.
565+
566One of:
567+
568* An absolute path.
569* A relative path.
570* The name of an application as found in the directories listed in the
571 `PATH` environment variable.
572
573'SYMBOL'::
574 Symbol name of the function of which to instrument the entry.
575+
576'SYMBOL' can be any defined code symbol in the output of the man:nm(1)
577command, including with its nloption:--dynamic option, which lists
578dynamic symbols.
579--
580+
581As of LTTng{nbsp}{lttng_version}, not specifying `elf:` is equivalent to
582specifying it, but this default may change in the future.
583+
584Examples:
585+
586* `/usr/lib/libc.so.6:malloc`
587* `./myapp:createUser`
588* `elf:httpd:ap_run_open_htaccess`
589
590++sdt:++__PATH__++:++__PROVIDER__++:++__NAME__::::
591 A SystemTap User-level Statically Defined Tracing (USDT) probe
592 within a user space application or library.
593+
594--
595'PATH'::
596 Application or library path.
597+
598This can be:
599+
600* An absolute path.
601* A relative path.
602* The name of an application as found in the directories listed in the
603 `PATH` environment variable.
604
605'PROVIDER'::
606'NAME'::
607 USDT provider and probe names.
608+
609For example, with the following USDT probe:
610+
611[source,c]
612----
613DTRACE_PROBE2("server", "accept_request",
614 request_id, ip_addr);
615----
616+
617The provider/probe name pair is `server:accept_request`.
618--
619+
620Example: `sdt:./build/server:server:accept_request`
621
622option:-t 'TYPE', option:--type='TYPE'::
623 Only match events which LTTng creates from an instrumentation point
624 having the type 'TYPE'.
625+
626'TYPE' is one of:
627+
a55e08e0
PP
628`kernel:tracepoint`:::
629 LTTng kernel tracepoint.
484b2a0c 630+
a55e08e0
PP
631As of LTTng{nbsp}{lttng_version}, `kernel` is an alias, but this may
632change in the future.
484b2a0c 633
a55e08e0
PP
634`user:tracepoint`:::
635 LTTng user space tracepoint.
484b2a0c 636+
a55e08e0
PP
637As of LTTng{nbsp}{lttng_version}, `user` is an alias, but this may
638change in the future.
484b2a0c 639
a55e08e0 640`kernel:syscall:entry`:::
484b2a0c
PP
641 Linux system call entry.
642+
a55e08e0
PP
643As of LTTng{nbsp}{lttng_version}, `syscall:entry` is an alias, but this
644may change in the future.
484b2a0c 645
a55e08e0 646`kernel:syscall:exit`:::
484b2a0c
PP
647 Linux system call exit.
648+
a55e08e0
PP
649As of LTTng{nbsp}{lttng_version}, `syscall:exit` is an alias, but this
650may change in the future.
484b2a0c 651
a55e08e0 652`kernel:syscall:entry+exit`:::
484b2a0c
PP
653 Linux system call entry and exit (two distinct instrumentation
654 points).
655+
a55e08e0
PP
656As of LTTng{nbsp}{lttng_version}, the following are aliases, but this
657may change in the future:
658+
659* `syscall:entry+exit`
660* `kernel:syscall`
661* `syscall`
484b2a0c 662
a55e08e0 663`kernel:kprobe`:::
484b2a0c
PP
664 Linux kprobe.
665+
a55e08e0
PP
666As of LTTng{nbsp}{lttng_version}, `kprobe` is an alias, but this may
667change in the future.
484b2a0c
PP
668+
669You must specify the location of the kprobe to insert with the
670option:--location option.
671+
672You may specify the name of the emitted events with the
673option:--event-name option.
674
a55e08e0 675`kernel:uprobe`:::
484b2a0c
PP
676 Linux user space probe.
677+
484b2a0c
PP
678You must specify the location of the user space probe to insert with the
679option:--location option.
680+
681You may specify the name of the emitted events with the
682option:--event-name option.
a55e08e0
PP
683
684`jul:logging`:::
685 `java.util.logging` logging statement.
686+
687As of LTTng{nbsp}{lttng_version}, `jul` is an alias, but this may change
688in the future.
689
690`log4j:logging`:::
691 Apache log4j logging statement.
692+
693As of LTTng{nbsp}{lttng_version}, `log4j` is an alias, but this may
694change in the future.
695
696`python:logging`:::
697 Python logging statement.
698+
699As of LTTng{nbsp}{lttng_version}, `python` is an alias, but this may
700change in the future.
484b2a0c
PP
701
702
703Event name condition
704~~~~~~~~~~~~~~~~~~~~
da39b67c 705See the ``<<event-name-cond,Event name condition>>'' section above.
484b2a0c
PP
706
707option:-n 'NAME', option:--name='NAME'::
a55e08e0
PP
708 Only match events of which 'NAME' matches, depending on the
709 argument of the option:--type option:
484b2a0c
PP
710+
711--
a55e08e0
PP
712`kernel:tracepoint`::
713`user:tracepoint`::
484b2a0c
PP
714 The full name of the LTTng tracepoint.
715
a55e08e0
PP
716`jul:logging`::
717`log4j:logging`::
718`python:logging`::
484b2a0c
PP
719 The Java or Python logger name.
720
a55e08e0
PP
721`kernel:syscall:entry`::
722`kernel:syscall:exit`::
723`kernel:syscall:entry+exit`::
484b2a0c
PP
724 The name of the system call, without any `sys_` prefix.
725--
726+
a55e08e0 727This option is :not: available with other instrumentation point types.
484b2a0c
PP
728+
729As of LTTng{nbsp}{lttng_version}, not specifying this option is
730equivalent to specifying option:--name=++\'*\'++ (when it applies), but
731this default may change in the future.
732
afc27397 733option:-x 'XNAME', option:--exclude-name='XNAME'::
484b2a0c
PP
734 Only match events of which 'XNAME' does :not: match the full name of
735 the LTTng user space tracepoint.
736+
a55e08e0 737Only available with the option:--type=++user:tracepoint++ option.
484b2a0c
PP
738
739'NAME' and 'XNAME' are globbing patterns: the `*` character means
740``match anything''. To match a literal `*` character, use :escwc:.
741
742
743Instrumentation point log level condition
744~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
da39b67c
PP
745See the ``<<inst-point-log-level-cond,Instrumentation point log level
746condition>>'' section above.
484b2a0c
PP
747
748option:-l 'LOGLEVELSPEC', option:--log-level='LOGLEVELSPEC'::
749 Only match events of which the log level of the LTTng tracepoint or
750 logging statement is, depending on the format of 'LOGLEVELSPEC':
751+
752--
753__LOGLEVEL__++..++::
754 At least as severe as 'LOGLEVEL'.
755
756'LOGLEVEL'::
757 Exactly 'LOGLEVEL'.
758
759++..++::
760 Anything.
761--
762+
a55e08e0
PP
763This option is :not: available with the following options:
764+
765* option:--type=++kernel:tracepoint++
766* option:--type=++kernel:syscall:entry++
767* option:--type=++kernel:syscall:exit++
768* option:--type=++kernel:syscall:entry+exit++
769* option:--type=++kernel:kprobe++
770* option:--type=++kernel:uprobe++
484b2a0c
PP
771+
772As of LTTng{nbsp}{lttng_version}, not specifying this option is
773equivalent to specifying option:--log-level=++..++ (when it applies),
774but this default may change in the future.
775
776
777Event payload and context filter condition
778~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
da39b67c 779See the ``<<filter-cond,Event payload and context filter condition>>''
484b2a0c
PP
780section above.
781
782option:-f 'EXPR', option:--filter='EXPR'::
783 Only match events of which 'EXPR', which can contain references to
784 event payload and current context fields, is _true_.
4ccdbb61
PP
785+
786This option is only available with the following options:
787+
a55e08e0
PP
788* option:--type=++kernel:tracepoint++
789* option:--type=++kernel:syscall:entry++
790* option:--type=++kernel:syscall:exit++
791* option:--type=++kernel:syscall:entry+exit++
484b2a0c
PP
792
793
26f0c779
PP
794include::common-footer.txt[]
795
796
484b2a0c
PP
797SEE ALSO
798--------
799man:lttng(1),
26f0c779 800man:lttng-add-trigger(1),
af1c4164
PP
801man:lttng-list(1),
802man:lttng-concepts(7)
This page took 0.057493 seconds and 4 git commands to generate.