X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=doc%2Fman%2Flttng-enable-event.1.txt;h=94efe497cc1203d4a9a479bb2c57849f82a47238;hp=526266fe145cf2ee46db1fe94ca7a01388e6b748;hb=e971184584781f70bbbfc52bbede8b9abf0436e5;hpb=f5511eeafdb40b9589306519633566c3be48756c diff --git a/doc/man/lttng-enable-event.1.txt b/doc/man/lttng-enable-event.1.txt index 526266fe1..94efe497c 100644 --- a/doc/man/lttng-enable-event.1.txt +++ b/doc/man/lttng-enable-event.1.txt @@ -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 <> section +See the ``<>'' 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 ``<>'' 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 <> -section below. +See the ``<>'' section below. * A pattern matches the name of{nbsp}__E__ while another pattern doesn't. + -See the <> section below. +See the ``<>'' 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 <> -section below. +See the ``<>'' section below. * The fields of the payload of{nbsp}__E__ and the current context fields satisfy a filter expression. + -See the <> +See the ``<>'' 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 <> section below). +of{nbsp}__E__ (see the ``<>'' 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 -<> section below). +``<>'' 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 <> section below). +of{nbsp}__E__ (see the ``<>'' 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 - <> section - above) of{nbsp}__ER__, 'NAME' matches: + ``<>'' + 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 -<> section -above) of the recording event rule which matched{nbsp}__E__: +``<>'' +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 <> -section above. +See the ``<>'' 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 -<> section above to learn more. +``<>'' 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 -<> section above to learn more. +``<>'' 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 -<> section above to learn more. +``<>'' section above to learn more. option:--syscall:: Only match Linux system call events. @@ -797,7 +800,7 @@ future. Event name condition ~~~~~~~~~~~~~~~~~~~~ -See the <> section above. +See the ``<>'' 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 <> section above. +See the ``<>'' section above. At most one of: @@ -837,12 +840,15 @@ with the option:--kernel option. Event payload and context filter condition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -See the <> +See the ``<>'' 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 ``<>'' 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[]