Revert "Introduce LTTNG_UST_LOADED environment variable"
[lttng-ust.git] / doc / man / lttng-ust.3.txt
index cbf28bb4c8a17790e5a51667823c2e9e5e949483..7a23943daf9eb134f46dba17459a120fcaf3d219 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
@@ -776,19 +776,21 @@ This event has no fields.
 +
 This event has no fields.
 
-`lttng_ust_statedump:soinfo`::
-    Emitted when information about a currently loaded shared object is
-    found.
+`lttng_ust_statedump:bin_info`::
+    Emitted when information about a currently loaded executable or
+    shared object is found.
 +
 Fields:
 +
 [options="header"]
-|==============================================================
+|==================================================================
 | Field name                 | Description
-| `baddr`                    | Base address of loaded library
-| `memsz`                    | Size of loaded library in memory
-| `sopath`                   | Path to loaded library file
-|==============================================================
+| `baddr`                    | Base address of loaded executable
+| `memsz`                    | Size of loaded executable in memory
+| `path`                     | Path to loaded executable file
+| `is_pic`                   | Whether the executable is
+                               position-independent code
+|==================================================================
 
 `lttng_ust_statedump:build_id`::
     Emitted when a build ID is found in a currently loaded shared
@@ -833,7 +835,53 @@ This example shows all the features documented in the previous
 sections. The <<build-static,static linking>> method is chosen here
 to link the application with the tracepoint provider.
 
-Let's start with the tracepoint provider header file (`tp.h`):
+You can compile the source files and link them together statically
+like this:
+
+[role="term"]
+-------------------------------------
+cc -c -I. tp.c
+cc -c app.c
+cc -o app tp.o app.o -llttng-ust -ldl
+-------------------------------------
+
+Using the man:lttng(1) tool, create an LTTng tracing session, enable
+all the events of this tracepoint provider, and start tracing:
+
+[role="term"]
+----------------------------------------------
+lttng create my-session
+lttng enable-event --userspace 'my_provider:*'
+lttng start
+----------------------------------------------
+
+You may also enable specific events:
+
+[role="term"]
+----------------------------------------------------------
+lttng enable-event --userspace my_provider:big_event
+lttng enable-event --userspace my_provider:event_instance2
+----------------------------------------------------------
+
+Run the application:
+
+[role="term"]
+--------------------
+./app some arguments
+--------------------
+
+Stop the current tracing session and inspect the recorded events:
+
+[role="term"]
+----------
+lttng stop
+lttng view
+----------
+
+
+Tracepoint provider header file
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+`tp.h`:
 
 ------------------------------------------------------------------------
 #undef TRACEPOINT_PROVIDER
@@ -954,7 +1002,10 @@ TRACEPOINT_EVENT_INSTANCE(
 #include <lttng/tracepoint-event.h>
 ------------------------------------------------------------------------
 
-The tracepoint provider source file looks like this (`tp.c`):
+
+Tracepoint provider source file
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+`tp.c`:
 
 ------------------------------------------------------------------------
 #define TRACEPOINT_CREATE_PROBES
@@ -963,7 +1014,10 @@ The tracepoint provider source file looks like this (`tp.c`):
 #include "tp.h"
 ------------------------------------------------------------------------
 
-The included `app.h`, where the application structure resides, is:
+
+Application header file
+~~~~~~~~~~~~~~~~~~~~~~~
+`app.h`:
 
 ------------------------------------------------------------------------
 #ifndef _APP_H
@@ -978,7 +1032,10 @@ struct app_struct {
 #endif /* _APP_H */
 ------------------------------------------------------------------------
 
-Finally, the application itself, `app.c`, using the defined tracepoints:
+
+Application source file
+~~~~~~~~~~~~~~~~~~~~~~~
+`app.c`:
 
 ------------------------------------------------------------------------
 #include <stdlib.h>
@@ -1028,36 +1085,27 @@ int main(int argc, char* argv[])
 }
 ------------------------------------------------------------------------
 
-Here are the steps to compile the source files and link them together
-statically:
-
-[role="term"]
--------------------------------------
-cc -c -I. tp.c
-cc -c app.c
-cc -o app tp.o app.o -llttng-ust -ldl
--------------------------------------
-
 
 ENVIRONMENT VARIABLES
 ---------------------
-`LTTNG_UST_DEBUG`::
-    Activate `liblttng-ust` debug and error output.
-
-`LTTNG_UST_REGISTER_TIMEOUT`::
-    Specify how long the applications should wait for the
-    _registration done_ session daemon command before proceeding to
-    execute the main program (milliseconds).
-+
-The value 0 means _do not wait_. The value -1 means _wait forever_.
-Setting this environment variable to 0 is recommended for applications
-with time constraints on the process startup time.
+`LTTNG_HOME`::
+    Alternative user's home directory. This variable is useful when the
+    user running the instrumented application has a non-writable home
+    directory.
 +
-Default: 3000.
+Unix sockets used for the communication between `liblttng-ust` and the
+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_WITHOUT_BADDR_STATEDUMP`::
-    Prevent `liblttng-ust` from performing a base address state dump
-    (see the <<state-dump,LTTng-UST state dump>> section above).
+`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
@@ -1065,11 +1113,20 @@ Default: 3000.
     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`].
+`LTTNG_UST_REGISTER_TIMEOUT`::
+    Waiting time for the _registration done_ session daemon command
+    before proceeding to execute the main program (milliseconds).
++
+The value `0` means _do not wait_. The value `-1` means _wait forever_.
+Setting this environment variable to `0` is recommended for applications
+with time constraints on the process startup time.
++
+Default: {lttng_ust_register_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`.
 
 
 include::common-footer.txt[]
This page took 0.025125 seconds and 4 git commands to generate.