Implement LTTNG_UST_BLOCKING_RETRY_TIMEOUT
[lttng-ust.git] / doc / man / lttng-ust.3.txt
index 816bebc7232a53f8b1752996c0eab97ae0892b81..43bc226565ceaa3b3d268f882c929df86b8911d7 100644 (file)
@@ -758,7 +758,7 @@ LTTng-UST state dump
 ~~~~~~~~~~~~~~~~~~~~
 If an application that uses `liblttng-ust` becomes part of a tracing
 session, information about its currently loaded shared objects, their
-build IDs, and their debug link informations are emitted as events
+build IDs, and their debug link information are emitted as events
 by the tracer.
 
 The following LTTng-UST state dump events exist and must be enabled
@@ -1098,9 +1098,45 @@ LTTng session and consumer daemons (part of the LTTng-tools project)
 are located in a specific directory under `$LTTNG_HOME` (or `$HOME` if
 `$LTTNG_HOME` is not set).
 
+`LTTNG_UST_BLOCKING_RETRY_TIMEOUT`::
+    Maximum duration (milliseconds) to retry event tracing when
+    there's no space left for the event record in the sub-buffer.
++
+--
+`0` (default)::
+    Never block the application.
+
+Positive value::
+    Block the application for the specified number of milliseconds. If
+    there's no space left after this duration, discard the event
+    record.
+
+Negative value::
+    Block the application until there's space left for the event record.
+--
++
+This option can be useful in workloads generating very large trace data
+throughput, where blocking the application is an acceptable trade-off to
+prevent discarding event records.
++
+WARNING: Setting this environment variable to a non-zero value may
+significantly affect application timings.
+
+`LTTNG_UST_CLOCK_PLUGIN`::
+    Path to the shared object which acts as the clock override plugin.
+    An example of such a plugin can be found in the LTTng-UST
+    documentation under
+    https://github.com/lttng/lttng-ust/tree/master/doc/examples/clock-override[`examples/clock-override`].
+
 `LTTNG_UST_DEBUG`::
     Activates `liblttng-ust`'s debug and error output if set to `1`.
 
+`LTTNG_UST_GETCPU_PLUGIN`::
+    Path to the shared object which acts as the `getcpu()` override
+    plugin. An example of such a plugin can be found in the LTTng-UST
+    documentation under
+    https://github.com/lttng/lttng-ust/tree/master/doc/examples/getcpu-override[`examples/getcpu-override`].
+
 `LTTNG_UST_REGISTER_TIMEOUT`::
     Waiting time for the _registration done_ session daemon command
     before proceeding to execute the main program (milliseconds).
@@ -1111,23 +1147,29 @@ with time constraints on the process startup time.
 +
 Default: {lttng_ust_register_timeout}.
 
+`LTTNG_UST_BLOCKING_RETRY_TIMEOUT`::
+    Maximum time during which event tracing retry is attempted on buffer
+    full condition (millliseconds). Setting this environment to non-zero
+    value effectively blocks the application on buffer full condition.
+    Setting this environment variable to non-zero values may
+    significantly affect application timings. Setting this to a negative
+    value may block the application indefinitely if there is no consumer
+    emptying the ring buffer. The delay between retry attempts is the
+    minimum between the specified timeout value and 100ms. This option
+    can be useful in workloads generating very large trace data
+    throughput, where blocking the application is an acceptable
+    trade-off to not discard events. _Use with caution_.
++
+The value `0` means _do not retry_. The value `-1` means _retry forever_.
+Value > `0` means a maximum timeout of the given value.
++
+Default: {lttng_ust_blocking_retry_timeout}.
+
 `LTTNG_UST_WITHOUT_BADDR_STATEDUMP`::
     Prevents `liblttng-ust` from performing a base address state dump
     (see the <<state-dump,LTTng-UST state dump>> section above) if
     set to `1`.
 
-`LTTNG_UST_GETCPU_PLUGIN`::
-    Path to the shared object which acts as the `getcpu()` override
-    plugin. An example of such a plugin can be found in the LTTng-UST
-    documentation under
-    https://github.com/lttng/lttng-ust/tree/master/doc/examples/getcpu-override[`examples/getcpu-override`].
-
-`LTTNG_UST_CLOCK_PLUGIN`::
-    Path to the shared object which acts as the clock override plugin.
-    An example of such a plugin can be found in the LTTng-UST
-    documentation under
-    https://github.com/lttng/lttng-ust/tree/master/doc/examples/clock-override[`examples/clock-override`].
-
 
 include::common-footer.txt[]
 
This page took 0.024073 seconds and 4 git commands to generate.