Rename "tracing session" -> "recording session"
[lttng-tools.git] / doc / man / lttng-enable-event.1.txt
index 526266fe145cf2ee46db1fe94ca7a01388e6b748..94efe497cc1203d4a9a479bb2c57849f82a47238 100644 (file)
@@ -1,6 +1,6 @@
 lttng-enable-event(1)
 =====================
-:revdate: 3 May 2021
+:revdate: 14 June 2021
 
 
 NAME
@@ -24,7 +24,7 @@ created from a dynamic instrumentation point:
 [verse]
 *lttng* ['linkgenoptions:(GENERAL OPTIONS)'] *enable-event* option:--kernel
       (option:--probe='LOC' | option:--function='LOC' | option:--userspace-probe='LOC') 'RECORDNAME'
-      [option:--filter='EXPR'] [option:--session='SESSION'] [option:--channel='CHANNEL']
+      [option:--session='SESSION'] [option:--channel='CHANNEL']
 
 Create or enable one or more recording event rules to match
 user space tracepoint events:
@@ -52,7 +52,7 @@ The `lttng enable-event` command does one of:
 
 * Enable one or more disabled recording event rules.
 +
-See the <<enable,Enable a disabled recording event rule>> section
+See the ``<<enable,Enable a disabled recording event rule>>'' section
 below.
 
 See man:lttng-concepts(7) to learn more about instrumentation points,
@@ -61,11 +61,11 @@ events, recording event rules, and event records.
 The recording event rule(s) to create or enable belong to:
 
 With the option:--session='SESSION' option::
-    The tracing session named 'SESSION'.
+    The recording session named 'SESSION'.
 
 Without the option:--session option::
-    The current tracing session (see man:lttng-concepts(7) to learn more
-    about the current tracing session).
+    The current recording session (see man:lttng-concepts(7) to learn
+    more about the current recording session).
 
 With the option:--channel='CHANNEL' option::
     The channel named 'CHANNEL'.
@@ -73,10 +73,13 @@ With the option:--channel='CHANNEL' option::
 Without the option:--channel option::
     The channel named `channel0`.
 +
-If such a channel doesn't exist, the `enable-event` automatically
-creates it.
+If there's already a channel for the selected recording session and
+domain which isn't named `channel0`, the `enable-event` command fails.
+Otherwise, it automatically creates it.
+
+See the ``<<examples,EXAMPLES>>'' section below for usage examples.
 
-List the recording event rules of a specific tracing session
+List the recording event rules of a specific recording session
 and/or channel with the man:lttng-list(1) and man:lttng-status(1)
 commands.
 
@@ -98,25 +101,25 @@ Explicit conditions::
 * The instrumentation point type from which LTTng creates{nbsp}__E__
   has a specific type.
 +
-See the <<inst-point-type-cond,Instrumentation point type condition>>
-section below.
+See the ``<<inst-point-type-cond,Instrumentation point type
+condition>>'' section below.
 
 * A pattern matches the name of{nbsp}__E__ while another pattern
   doesn't.
 +
-See the <<event-name-cond,Event name condition>> section below.
+See the ``<<event-name-cond,Event name condition>>'' section below.
 
 * The log level of the instrumentation point from which LTTng
   creates{nbsp}__E__ is at least as severe as some value, or is exactly
   some value.
 +
-See the <<inst-point-log-level-cond,Instrumentation point log level condition>>
-section below.
+See the ``<<inst-point-log-level-cond,Instrumentation point log level
+condition>>'' section below.
 
 * The fields of the payload of{nbsp}__E__ and the current context fields
   satisfy a filter expression.
 +
-See the <<filter-cond,Event payload and context filter condition>>
+See the ``<<filter-cond,Event payload and context filter condition>>''
 section below.
 --
 
@@ -135,16 +138,16 @@ A channel is enabled on creation.
 +
 Enable a disabled channel with the man:lttng-enable-channel(1) command.
 
-* The tracing session of{nbsp}__ER__ is active (started).
+* The recording session of{nbsp}__ER__ is active (started).
 +
-A tracing session is inactive (stopped) on creation.
+A recording session is inactive (stopped) on creation.
 +
-Start an inactive tracing session with the man:lttng-start(1) command.
+Start an inactive recording session with the man:lttng-start(1) command.
 
 * The process for which LTTng creates{nbsp}__E__ is allowed to record
   events.
 +
-All processes are allowed to record events on tracing session
+All processes are allowed to record events on recording session
 creation.
 +
 Use the man:lttng-track(1) and man:lttng-untrack(1) commands to select
@@ -190,7 +193,7 @@ List the available Linux kernel system call instrumentation points with
 The argument of the option:--probe option is the location of the
 kprobe to insert, either a symbol or a
 memory address, while 'RECORDNAME' is the name of the record
-of{nbsp}__E__ (see the <<er-name,Event record name>> section below).
+of{nbsp}__E__ (see the ``<<er-name,Event record name>>'' section below).
 +
 The payload of a Linux kprobe event is empty.
 
@@ -212,7 +215,7 @@ are :not: reference-counted.
 --
 +
 'RECORDNAME' is the name of the record of{nbsp}__E__ (see the
-<<er-name,Event record name>> section below).
+``<<er-name,Event record name>>'' section below).
 +
 The payload of a Linux user space probe event is empty.
 
@@ -223,7 +226,7 @@ The payload of a Linux user space probe event is empty.
 The argument of the option:--function option is the location of the
 Linux kretprobe to insert, either a symbol or
 a memory address, while 'RECORDNAME' is the name of the record
-of{nbsp}__E__ (see the <<er-name,Event record name>> section below).
+of{nbsp}__E__ (see the ``<<er-name,Event record name>>'' section below).
 +
 The payload of a Linux kretprobe event is empty.
 
@@ -261,8 +264,8 @@ event rule{nbsp}__ER__ if the two following statements are true:
 
 * You specify the option:--all option or, depending on the
   instrumentation type condition (see the
-  <<inst-point-type-cond,Instrumentation point type condition>> section
-  above) of{nbsp}__ER__, 'NAME' matches:
+  ``<<inst-point-type-cond,Instrumentation point type condition>>''
+  section above) of{nbsp}__ER__, 'NAME' matches:
 +
 --
 LTTng tracepoint::
@@ -334,58 +337,54 @@ The available values of 'LOGLEVEL' are, depending on the tracing domain,
 from the most to the least severe:
 
 User space (option:--userspace option)::
-    Shortcuts such as `system` are allowed.
-+
-* `TRACE_EMERG` (0)
-* `TRACE_ALERT` (1)
-* `TRACE_CRIT` (2)
-* `TRACE_ERR` (3)
-* `TRACE_WARNING` (4)
-* `TRACE_NOTICE` (5)
-* `TRACE_INFO` (6)
-* `TRACE_DEBUG_SYSTEM` (7)
-* `TRACE_DEBUG_PROGRAM` (8)
-* `TRACE_DEBUG_PROCESS` (9)
-* `TRACE_DEBUG_MODULE` (10)
-* `TRACE_DEBUG_UNIT` (11)
-* `TRACE_DEBUG_FUNCTION` (12)
-* `TRACE_DEBUG_LINE` (13)
-* `TRACE_DEBUG` (14)
++
+* `EMERG` (0)
+* `ALERT` (1)
+* `CRIT` (2)
+* `ERR` (3)
+* `WARNING` (4)
+* `NOTICE` (5)
+* `INFO` (6)
+* `DEBUG_SYSTEM` (7)
+* `DEBUG_PROGRAM` (8)
+* `DEBUG_PROCESS` (9)
+* `DEBUG_MODULE` (10)
+* `DEBUG_UNIT` (11)
+* `DEBUG_FUNCTION` (12)
+* `DEBUG_LINE` (13)
+* `DEBUG` (14)
 
 `java.util.logging` (option:--jul option)::
-    Shortcuts such as `severe` are allowed.
-+
-* `JUL_OFF` (`INT32_MAX`)
-* `JUL_SEVERE` (1000)
-* `JUL_WARNING` (900)
-* `JUL_INFO` (800)
-* `JUL_CONFIG` (700)
-* `JUL_FINE` (500)
-* `JUL_FINER` (400)
-* `JUL_FINEST` (300)
-* `JUL_ALL` (`INT32_MIN`)
++
+* `OFF` (`INT32_MAX`)
+* `SEVERE` (1000)
+* `WARNING` (900)
+* `INFO` (800)
+* `CONFIG` (700)
+* `FINE` (500)
+* `FINER` (400)
+* `FINEST` (300)
+* `ALL` (`INT32_MIN`)
 
 Apache log4j (option:--log4j option)::
-    Shortcuts such as `severe` are allowed.
 +
-* `LOG4J_OFF` (`INT32_MAX`)
-* `LOG4J_FATAL` (50000)
-* `LOG4J_ERROR` (40000)
-* `LOG4J_WARN` (30000)
-* `LOG4J_INFO` (20000)
-* `LOG4J_DEBUG` (10000)
-* `LOG4J_TRACE` (5000)
-* `LOG4J_ALL` (`INT32_MIN`)
+* `OFF` (`INT32_MAX`)
+* `FATAL` (50000)
+* `ERROR` (40000)
+* `WARN` (30000)
+* `INFO` (20000)
+* `DEBUG` (10000)
+* `TRACE` (5000)
+* `ALL` (`INT32_MIN`)
 
 Python (option:--python option)::
-    Shortcuts such as `critical` are allowed.
 +
-* `PYTHON_CRITICAL` (50)
-* `PYTHON_ERROR` (40)
-* `PYTHON_WARNING` (30)
-* `PYTHON_INFO` (20)
-* `PYTHON_DEBUG` (10)
-* `PYTHON_NOTSET` (0)
+* `CRITICAL` (50)
+* `ERROR` (40)
+* `WARNING` (30)
+* `INFO` (20)
+* `DEBUG` (10)
+* `NOTSET` (0)
 
 
 [[filter-cond]]
@@ -395,6 +394,10 @@ An event{nbsp}__E__ satisfies the event payload and context filter
 condition of a recording event rule if the option:--filter='EXPR'
 option is missing or if 'EXPR' is _true_.
 
+This condition is only meaningful for the LTTng tracepoint and Linux
+system call instrumentation point types: it's always satisfied for other
+types.
+
 'EXPR' can contain references to the payload fields of{nbsp}__E__ and
 to the current context fields.
 
@@ -550,8 +553,8 @@ Event record name
 ~~~~~~~~~~~~~~~~~
 When LTTng records an event{nbsp}__E__, the resulting event record has a
 name which depends on the instrumentation point type condition (see the
-<<inst-point-type-cond,Instrumentation point type condition>> section
-above) of the recording event rule which matched{nbsp}__E__:
+``<<inst-point-type-cond,Instrumentation point type condition>>''
+section above) of the recording event rule which matched{nbsp}__E__:
 
 LTTng tracepoint (option:--kernel/option:--userspace and option:--tracepoint options)::
     Full name of the tracepoint from which LTTng creates{nbsp}__E__.
@@ -609,7 +612,7 @@ The `enable-event` command can enable a disabled recording event rule,
 as listed in the output of the man:lttng-list(1) command.
 
 You may enable a disabled recording event rule regardless of the
-activity (started or stopped) of its tracing session (see
+activity (started or stopped) of its recording session (see
 man:lttng-start(1) and man:lttng-stop(1)).
 
 To enable a disabled recording event rule, run the `enable-event`
@@ -652,14 +655,14 @@ option:-c 'CHANNEL', option:--channel='CHANNEL'::
     'CHANNEL' instead of `channel0`.
 
 option:-s 'SESSION', option:--session='SESSION'::
-    Create or enable recording event rules in the tracing session named
-    'SESSION' instead of the current tracing session.
+    Create or enable recording event rules in the recording session
+    named 'SESSION' instead of the current recording session.
 
 
 Instrumentation point type condition
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-See the <<inst-point-type-cond,Instrumentation point type condition>>
-section above.
+See the ``<<inst-point-type-cond,Instrumentation point type
+condition>>'' section above.
 
 At most one of:
 
@@ -678,7 +681,7 @@ Only available with the option:--kernel option.
 --
 +
 You must specify the event record name with 'RECORDNAME'. See the
-<<er-name,Event record name>> section above to learn more.
+``<<er-name,Event record name>>'' section above to learn more.
 
 option:--probe='LOC'::
     Only match Linux kprobe events.
@@ -694,7 +697,7 @@ Only available with the option:--kernel option.
 --
 +
 You must specify the event record name with 'RECORDNAME'. See the
-<<er-name,Event record name>> section above to learn more.
+``<<er-name,Event record name>>'' section above to learn more.
 
 option:--userspace-probe='LOC'::
     Only match Linux user space probe events.
@@ -770,7 +773,7 @@ Example: `--userspace-probe=sdt:./build/server:server:accept_request`
 --
 +
 You must specify the event record name with 'RECORDNAME'. See the
-<<er-name,Event record name>> section above to learn more.
+``<<er-name,Event record name>>'' section above to learn more.
 
 option:--syscall::
     Only match Linux system call events.
@@ -797,7 +800,7 @@ future.
 
 Event name condition
 ~~~~~~~~~~~~~~~~~~~~
-See the <<event-name-cond,Event name condition>> section above.
+See the ``<<event-name-cond,Event name condition>>'' section above.
 
 option:-a, option:--all::
     Equivalent to a single 'NAME' argument (LTTng tracepoint or logger
@@ -818,8 +821,8 @@ a literal `,` character, use :esccomma:.
 
 Instrumentation point log level condition
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-See the <<inst-point-log-level-cond,Instrumentation point log level
-condition>> section above.
+See the ``<<inst-point-log-level-cond,Instrumentation point log level
+condition>>'' section above.
 
 At most one of:
 
@@ -837,12 +840,15 @@ with the option:--kernel option.
 
 Event payload and context filter condition
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-See the <<filter-cond,Event payload and context filter condition>>
+See the ``<<filter-cond,Event payload and context filter condition>>''
 section above.
 
 option:-f 'EXPR', option:--filter='EXPR'::
     Only match events of which 'EXPR', which can contain references to
     event payload and current context fields, is _true_.
++
+This option is only available with the option:--tracepoint or
+option:--syscall option.
 
 
 include::common-lttng-cmd-help-options.txt[]
@@ -851,6 +857,85 @@ include::common-lttng-cmd-help-options.txt[]
 include::common-lttng-cmd-after-options.txt[]
 
 
+[[examples]]
+EXAMPLES
+--------
+.Create a recording event rule which matches all Linux system call events (current recording session, default channel).
+====
+See the option:--all and option:--syscall options.
+
+[role="term"]
+----
+$ lttng enable-event --kernel --all --syscall
+----
+====
+
+.Create a recording event rule which matches user space tracepoint events named specifically (current recording session, default channel).
+====
+The recording event rule below matches all user space tracepoint events
+of which the name starts with `my_provider:msg`.
+
+[role="term"]
+----
+$ lttng enable-event --userspace 'my_provider:msg*'
+----
+====
+
+.Create three recording event rules which match Python logging events named specifically (current recording session, default channel).
+====
+[role="term"]
+----
+$ lttng enable-event --python server3,ui.window,user-mgmt
+----
+====
+
+.Create a recording event rule which matches Apache log4j logging events with a specific log level range (current recording session, specific channel).
+====
+See the option:--channel, option:--all, and option:--loglevel options.
+
+[role="term"]
+----
+$ lttng enable-event --log4j --channel=my-loggers \
+                     --all --loglevel=INFO
+----
+====
+
+.Create a recording event rule which matches specific Linux kprobe events (current recording session, default channel).
+====
+The recording event rule below matches the entry of `usb_disconnect()`
+Linux kernel function calls. The records of such events are named `usbd`
+(see the ``<<er-name,Event record name>>'' section above).
+
+See the option:--probe option.
+
+[role="term"]
+----
+$ lttng enable-event --kernel --probe=usb_disconnect usbd
+----
+====
+
+.Create a recording event rule which matches Linux kernel tracepoint events which satisfy an event payload and context filter (specific recording session, default channel).
+====
+See the option:--session and option:--filter options.
+
+[role="term"]
+----
+$ lttng enable-event --kernel --session=my-session 'sched_*' \
+        --filter='$ctx.preemptible && comm != "systemd*"'
+----
+====
+
+.Enable two Linux kernel tracepoint recording event rules (current recording session, specific channel).
+====
+See the option:--channel option.
+
+[role="term"]
+----
+$ lttng enable-event --kernel --channel=tva ja,wendy
+----
+====
+
+
 include::common-footer.txt[]
 
 
This page took 0.029872 seconds and 4 git commands to generate.