lttng-{enable-event(1),event-rule(7)}: `--filter` is not always avail.
[lttng-tools.git] / doc / man / lttng-event-rule.7.txt
... / ...
CommitLineData
1lttng-event-rule(7)
2===================
3:revdate: 12 May 2021
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]
17option:--domain=**kernel** option:--type=(**tracepoint** | **syscall**[**:entry**|**:exit**|**pass:[:entry+exit]**])]
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]
24option:--domain=**kernel** option:--type=(**kprobe** | **uprobe**) option:--location='LOC'
25pass:[[]option:--event-name='EVENTNAME']
26
27Specify an event rule to match user space tracepoint events:
28
29[verse]
30option:--domain=**user** [option:--type=**tracepoint**] [option:--name='NAME'] [option:--exclude-name='XNAME']...
31pass:[[]option:--log-level=('LOGLEVEL' | 'LOGLEVEL'.. | ..)] [option:--filter='EXPR']
32
33Specify an event rule to match Java/Python logging events:
34
35[verse]
36option:--domain=(**jul** | **log4j** | **python**) [option:--type=**logging**] [option:--name='NAME']
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
49See man:lttng-concepts(7) to learn more about instrumentation points,
50events, and event rules.
51
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
64Overview of event rule condtions
65~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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+
72See the <<inst-point-type-cond,Instrumentation point type condition>>
73section below.
74
75* A pattern matches the name of{nbsp}__E__ while another pattern
76 doesn't.
77+
78See the <<event-name-cond,Event name condition>> section below.
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+
84See the <<inst-point-log-level-cond,Instrumentation point log level
85condition>> section below.
86
87* The fields of the payload of{nbsp}__E__ and the current context fields
88 satisfy a filter expression.
89+
90See the <<filter-cond,Event payload and context filter condition>>
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
103creates{nbsp}__E__ is:
104
105For the Linux kernel tracing domain (option:--domain=++kernel++ option)::
106 With the option:--type=++tracepoint++ option or without any option:--type option:::
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.
110+
111As of LTTng{nbsp}{lttng_version}, this is the default instrumentation
112point type of the Linux kernel tracing domain, but this may change in
113the future.
114+
115List the available Linux kernel tracepoints with `lttng list --kernel`.
116See man:lttng-list(1) to learn more.
117
118 With the option:--type=++syscall++, option:--type=++syscall:entry++, option:--type=++syscall:exit++, or option:--type=++syscall:entry+exit++ option:::
119 The entry, exit, or entry and exit of a Linux kernel system
120 call.
121+
122List the available Linux kernel system call instrumentation points with
123`lttng list --kernel --syscall`. See man:lttng-list(1) to learn more.
124
125 With the option:--type=++kprobe++ option:::
126 A Linux kprobe, that is, a single probe dynamically placed in
127 the compiled kernel code.
128+
129You must specify the kprobe location with the option:--location option.
130+
131The payload of a Linux kprobe event is empty.
132
133 With the option:--type=++uprobe++ option:::
134 A Linux user space probe, that is, a single probe dynamically
135 placed at the entry of a compiled user space application/library
136 function through the kernel.
137+
138LTTng{nbsp}{lttng_version} supports the ELF and SystemTap User-level
139Statically Defined Tracing (USDT; a DTrace-style marker) probing
140methods. LTTng only supports USDT probes which are :not:
141reference-counted.
142+
143You must specify the user space probe location with the
144option:--location option.
145+
146The payload of a Linux user space probe event is empty.
147
148For the user space tracing domain (option:--domain=++user++ option)::
149 With or without the option:--type=++tracepoint++ option:::
150 An LTTng user space tracepoint, that is, a statically defined point
151 in the source code of a C/$$C++$$ application/library
152 with LTTng user space tracer macros.
153+
154As of LTTng{nbsp}{lttng_version}, this is the default and sole
155instrumentation point type of the user space tracing domain, but this
156may change in the future.
157+
158List the available user space tracepoints with `lttng list --userspace`.
159See man:lttng-list(1) to learn more.
160
161For the `java.util.logging` (option:--domain=++jul++ option), Apache log4j (option:--domain=++log4j++ option), and Python (option:--domain=++python++ option) tracing domains::
162 With or without the option:--type=++logging++ option:::
163 A logging statement.
164+
165As of LTTng{nbsp}{lttng_version}, this is the default and sole
166instrumentation point type of the `java.util.logging`, Apache log4j, and
167Python tracing domains, but this may change in the future.
168+
169List the available Java and Python loggers with `lttng list --jul`,
170`lttng list --log4j`, and `lttng list --python`. See man:lttng-list(1)
171to learn more.
172
173
174[[event-name-cond]]
175Event name condition
176~~~~~~~~~~~~~~~~~~~~
177An event{nbsp}__E__ satisfies the event name condition of an event
178rule{nbsp}__ER__ if the two following statements are true:
179
180* You don't specify the option:--name='NAME' option or, depending on the
181 instrumentation type condition (see the
182 <<inst-point-type-cond,Instrumentation point type condition>> section
183 above) of{nbsp}__ER__, 'NAME' matches:
184+
185--
186LTTng tracepoint::
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
193Logging statement::
194 The name of the Java or Python logger from which LTTng
195 creates{nbsp}__E__.
196
197Linux system call::
198 The name of the system call, without any `sys_` prefix, from which
199 LTTng creates{nbsp}__E__.
200--
201
202* You don't specify any option:--exclude-name='XNAME' option or
203 none of the 'XNAME' arguments matches the full name of the user space
204 tracepoint from which LTTng creates{nbsp}__E__.
205+
206The option:--exclude-name option is only available with the
207option:--domain=++user++ option.
208
209This condition is only meaningful for the LTTng tracepoint, logging
210statement, and Linux system call instrumentation point types: it's
211always satisfied for the other types.
212
213In all cases, 'NAME' and 'XNAME' are globbing patterns: the `*`
214character means ``match anything''. To match a literal `*` character,
215use :escwc:.
216
217IMPORTANT: Make sure to **single-quote** 'NAME' and 'XNAME' when they
218contain the `*` character and when you run an man:lttng(1) command from
219a shell.
220
221As of LTTng{nbsp}{lttng_version}, not specifying the option:--name
222option is equivalent to specifying option:--name=++\'*\'++, but this
223default may change in the future.
224
225
226[[inst-point-log-level-cond]]
227Instrumentation point log level condition
228~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
229An event{nbsp}__E__ satisfies the instrumentation point log level
230condition of an event rule if either:
231
232* You specify the option:--log-level=++..++ option or you don't specify
233 the option:--log-level option.
234+
235Defaulting to option:--log-level=++..++ when you don't specify the
236option:--log-level option is specific to LTTng{nbsp}{lttng_version} and
237may change in the future.
238
239* The log level of the LTTng user space tracepoint or logging statement
240 from which LTTng creates{nbsp}__E__ is:
241 With the option:--log-level=__LOGLEVEL__++..++ option::
242 At least as severe as 'LOGLEVEL'.
243
244 With the option:--log-level=__LOGLEVEL__ option::
245 Exactly 'LOGLEVEL'.
246
247As of LTTng{nbsp}{lttng_version}, the ++..++__LOGLEVEL__ and
248__LOGLEVEL__++..++__LOGLEVEL__ formats are :not: supported.
249
250This condition is only meaningful for the LTTng user space tracepoint
251and logging statement instrumentation point types: it's always satisfied
252for other types.
253
254The available values of 'LOGLEVEL' are, depending on the tracing domain,
255from the most to the least severe:
256
257User space (option:--domain=++user++ option)::
258 Shortcuts such as `system` are allowed.
259+
260* `TRACE_EMERG` (0)
261* `TRACE_ALERT` (1)
262* `TRACE_CRIT` (2)
263* `TRACE_ERR` (3)
264* `TRACE_WARNING` (4)
265* `TRACE_NOTICE` (5)
266* `TRACE_INFO` (6)
267* `TRACE_DEBUG_SYSTEM` (7)
268* `TRACE_DEBUG_PROGRAM` (8)
269* `TRACE_DEBUG_PROCESS` (9)
270* `TRACE_DEBUG_MODULE` (10)
271* `TRACE_DEBUG_UNIT` (11)
272* `TRACE_DEBUG_FUNCTION` (12)
273* `TRACE_DEBUG_LINE` (13)
274* `TRACE_DEBUG` (14)
275
276`java.util.logging` (option:--domain=++jul++ option)::
277 Shortcuts such as `severe` are allowed.
278+
279* `JUL_OFF` (`INT32_MAX`)
280* `JUL_SEVERE` (1000)
281* `JUL_WARNING` (900)
282* `JUL_INFO` (800)
283* `JUL_CONFIG` (700)
284* `JUL_FINE` (500)
285* `JUL_FINER` (400)
286* `JUL_FINEST` (300)
287* `JUL_ALL` (`INT32_MIN`)
288
289Apache log4j (option:--domain=++log4j++ option)::
290 Shortcuts such as `severe` are allowed.
291+
292* `LOG4J_OFF` (`INT32_MAX`)
293* `LOG4J_FATAL` (50000)
294* `LOG4J_ERROR` (40000)
295* `LOG4J_WARN` (30000)
296* `LOG4J_INFO` (20000)
297* `LOG4J_DEBUG` (10000)
298* `LOG4J_TRACE` (5000)
299* `LOG4J_ALL` (`INT32_MIN`)
300
301Python (option:--domain=++python++ option)::
302 Shortcuts such as `critical` are allowed.
303+
304* `PYTHON_CRITICAL` (50)
305* `PYTHON_ERROR` (40)
306* `PYTHON_WARNING` (30)
307* `PYTHON_INFO` (20)
308* `PYTHON_DEBUG` (10)
309* `PYTHON_NOTSET` (0)
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
319This condition is only meaningful for the LTTng tracepoint and Linux
320system call instrumentation point types: it's always satisfied for other
321types.
322
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
479|nloption:--kernel |option:--domain=++kernel++
480|nloption:--userspace |option:--domain=++user++
481|nloption:--jul |option:--domain=++jul++
482|nloption:--log4j |option:--domain=++log4j++
483|nloption:--python |option:--domain=++python++
484|nloption:--tracepoint (with nloption:--kernel/nloption:--userspace) |option:--type=++tracepoint++ or no option:--type option
485|nloption:--tracepoint (with nloption:--jul/nloption:--log4j/nloption:--python) |option:--type=++logging++ or no option:--type option
486|nloption:--syscall |option:--type=++syscall++ or option:--type=++syscall:entry+exit++
487|nloption:--probe='LOC' and 'RECORDNAME' (non-option) |option:--type=++kprobe++, option:--location='LOC', and option:--event-name='RECORDNAME'
488|nloption:--userspace-probe='LOC' and 'RECORDNAME' (non-option) |option:--type=++uprobe++, option:--location='LOC', and option:--event-name='RECORDNAME'
489|nloption:--function='LOC' and 'RECORDNAME' (non-option) |Not available as of LTTng{nbsp}{lttng_version}
490|'NAME' (non-option) |option:--name='NAME'
491|nloption:--all |option:--name=++\'*\'++ or no option:--name option
492|nloption:--exclude=__XNAME__[++,++__XNAME__]... |option:--exclude-name='XNAME' for each 'XNAME'
493|nloption:--loglevel='LOGLEVEL' |option:--log-level=__LOGLEVEL__++..++
494|nloption:--loglevel-only='LOGLEVEL' |option:--log-level=__LOGLEVEL__
495|nloption:--filter='EXPR' |option:--filter='EXPR'
496|===
497
498
499OPTIONS
500-------
501Tracing domain
502~~~~~~~~~~~~~~
503option:-d 'DOMAIN', option:--domain='DOMAIN'::
504 Only match events which LTTng creates in the tracing domain
505 'DOMAIN'.
506+
507'DOMAIN' is one of:
508+
509--
510`kernel`:::
511 Linux kernel
512`user`:::
513`userspace`:::
514 User space tracing
515`jul`:::
516 `java.util.logging`
517`log4j`:::
518 Apache log4j
519`python`:::
520 Python
521--
522+
523This option is mandatory.
524
525
526Instrumentation point type condition
527~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
528See the <<inst-point-type-cond,Instrumentation point type condition>>
529section above.
530
531option:-E 'NAME', option:--event-name='NAME'::
532 With the option:--type=++kprobe++ or option:--type=++uprobe++
533 option, set the name of the emitted events to 'NAME' instead of the
534 'LOC' argument of the option:--location='LOC' option.
535+
536Defaulting to 'LOC' is specific to LTTng{nbsp}{lttng_version} and may
537change in the future.
538
539option:-L 'LOC', option:--location='LOC'::
540 With the option:--type=++kprobe++ option:::
541 Set the location of the Linux kprobe to insert to 'LOC'.
542+
543'LOC' is one of:
544+
545* An address (`0x` hexadecimal prefix supported).
546* A symbol name.
547* A symbol name and an offset (__SYMBOL__++pass:[+]++__OFFSET__ format).
548
549 With the option:--type=++uprobe++ option:::
550 Set the location of the user space probe to insert to 'LOC'.
551+
552'LOC' is one of:
553+
554\[++elf:++]__PATH__++:++__SYMBOL__::::
555 An available symbol within a user space application or library.
556+
557--
558'PATH'::
559 Application or library path.
560+
561One of:
562+
563* An absolute path.
564* A relative path.
565* The name of an application as found in the directories listed in the
566 `PATH` environment variable.
567
568'SYMBOL'::
569 Symbol name of the function of which to instrument the entry.
570+
571'SYMBOL' can be any defined code symbol in the output of the man:nm(1)
572command, including with its nloption:--dynamic option, which lists
573dynamic symbols.
574--
575+
576As of LTTng{nbsp}{lttng_version}, not specifying `elf:` is equivalent to
577specifying it, but this default may change in the future.
578+
579Examples:
580+
581* `/usr/lib/libc.so.6:malloc`
582* `./myapp:createUser`
583* `elf:httpd:ap_run_open_htaccess`
584
585++sdt:++__PATH__++:++__PROVIDER__++:++__NAME__::::
586 A SystemTap User-level Statically Defined Tracing (USDT) probe
587 within a user space application or library.
588+
589--
590'PATH'::
591 Application or library path.
592+
593This can be:
594+
595* An absolute path.
596* A relative path.
597* The name of an application as found in the directories listed in the
598 `PATH` environment variable.
599
600'PROVIDER'::
601'NAME'::
602 USDT provider and probe names.
603+
604For example, with the following USDT probe:
605+
606[source,c]
607----
608DTRACE_PROBE2("server", "accept_request",
609 request_id, ip_addr);
610----
611+
612The provider/probe name pair is `server:accept_request`.
613--
614+
615Example: `sdt:./build/server:server:accept_request`
616
617option:-t 'TYPE', option:--type='TYPE'::
618 Only match events which LTTng creates from an instrumentation point
619 having the type 'TYPE'.
620+
621'TYPE' is one of:
622+
623--
624`tracepoint`::
625 LTTng tracepoint.
626+
627Only available with the option:--domain=++kernel++ and
628option:--domain=++user++ options.
629+
630As of LTTng{nbsp}{lttng_version}, this is the default instrumentation
631point type of the Linux kernel and user space tracing domains, but this
632may change in the future.
633
634`logging`::
635 Logging statement.
636+
637Only available with the option:--domain=++jul++,
638option:--domain=++log4j++, and option:--domain=++python++ options.
639+
640As of LTTng{nbsp}{lttng_version}, this is the default instrumentation
641point type of the `java.util.logging`, Apache log4j, and Python tracing
642domains, but this may change in the future.
643
644`syscall`::
645 As of LTTng{nbsp}{lttng_version}, equivalent to
646 `syscall:entry+exit`, but this default may change in the future.
647+
648Only available with the option:--domain=++kernel++ option.
649
650`syscall:entry`::
651 Linux system call entry.
652+
653Only available with the option:--domain=++kernel++ option.
654
655`syscall:exit`::
656 Linux system call exit.
657+
658Only available with the option:--domain=++kernel++ option.
659
660`syscall:entry+exit`::
661 Linux system call entry and exit (two distinct instrumentation
662 points).
663+
664Only available with the option:--domain=++kernel++ option.
665
666`kprobe`::
667 Linux kprobe.
668+
669Only available with the option:--domain=++kernel++ option.
670+
671You must specify the location of the kprobe to insert with the
672option:--location option.
673+
674You may specify the name of the emitted events with the
675option:--event-name option.
676
677`uprobe` or `userspace-probe`::
678 Linux user space probe.
679+
680Only available with the option:--domain=++kernel++ option.
681+
682You must specify the location of the user space probe to insert with the
683option:--location option.
684+
685You may specify the name of the emitted events with the
686option:--event-name option.
687--
688
689
690Event name condition
691~~~~~~~~~~~~~~~~~~~~
692See the <<event-name-cond,Event name condition>> section above.
693
694option:-n 'NAME', option:--name='NAME'::
695 Only match events of which 'NAME' matches:
696+
697--
698With the option:--domain=++kernel++ or option:--domain=++user++ option, with the option:--type=++tracepoint++ option or without the option:--type option:::
699 The full name of the LTTng tracepoint.
700
701With the option:--domain=++jul++, option:--domain=++log4j++, or option:--domain=++python++ option:::
702 The Java or Python logger name.
703
704With the option:--domain=++kernel++ option and one of the option:--type=++syscall++, option:--type=++syscall:entry++, option:--type=++syscall:exit++, and option:--type=++syscall:entry+exit++ options:::
705 The name of the system call, without any `sys_` prefix.
706--
707+
708This option is :not: available with the option:--type=++kprobe++ and
709option:--type=++uprobe++ options.
710+
711As of LTTng{nbsp}{lttng_version}, not specifying this option is
712equivalent to specifying option:--name=++\'*\'++ (when it applies), but
713this default may change in the future.
714
715option:-x 'XNAME', option:--exclude='XNAME'::
716 Only match events of which 'XNAME' does :not: match the full name of
717 the LTTng user space tracepoint.
718+
719Only available with the option:--domain=++user++ option.
720
721'NAME' and 'XNAME' are globbing patterns: the `*` character means
722``match anything''. To match a literal `*` character, use :escwc:.
723
724
725Instrumentation point log level condition
726~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
727See the <<inst-point-log-level-cond,Instrumentation point log level
728condition>> section above.
729
730option:-l 'LOGLEVELSPEC', option:--log-level='LOGLEVELSPEC'::
731 Only match events of which the log level of the LTTng tracepoint or
732 logging statement is, depending on the format of 'LOGLEVELSPEC':
733+
734--
735__LOGLEVEL__++..++::
736 At least as severe as 'LOGLEVEL'.
737
738'LOGLEVEL'::
739 Exactly 'LOGLEVEL'.
740
741++..++::
742 Anything.
743--
744+
745This option is :not: available with the option:--domain=++kernel++
746option.
747+
748As of LTTng{nbsp}{lttng_version}, not specifying this option is
749equivalent to specifying option:--log-level=++..++ (when it applies),
750but this default may change in the future.
751
752
753Event payload and context filter condition
754~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
755See the <<filter-cond,Event payload and context filter condition>>
756section above.
757
758option:-f 'EXPR', option:--filter='EXPR'::
759 Only match events of which 'EXPR', which can contain references to
760 event payload and current context fields, is _true_.
761+
762This option is only available with the following options:
763+
764* option:--type=++tracepoint++
765* option:--type=++syscall++
766* option:--type=++syscall:entry++
767* option:--type=++syscall:exit++
768* option:--type=++syscall:entry+exit++
769
770
771include::common-footer.txt[]
772
773
774SEE ALSO
775--------
776man:lttng(1),
777man:lttng-add-trigger(1),
778man:lttng-list(1),
779man:lttng-concepts(7)
This page took 0.025425 seconds and 4 git commands to generate.