Here's the whole build process:
-<div class="img img-100">
+<figure class="img img-100">
<img src="/images/docs26/ust-flow.png" alt="User space tracing's build process">
-</div>
+</figure>
If you followed the
[Tracing the Linux kernel](#doc-tracing-the-linux-kernel) tutorial, the
system/application in a given tracing session with a specific
configuration while another one stays inactive.
-<div class="img img-100">
+<figure class="img img-100">
<img src="/images/docs26/concepts.png" alt="LTTng concepts">
-</div>
+</figure>
Conceptually, a tracing session is a per-user object; the
[Plumbing](#doc-plumbing) section shows how this is actually
implemented. Any user may create as many concurrent tracing sessions
as desired.
-<div class="img img-100">
+<figure class="img img-100">
<img src="/images/docs26/many-sessions.png" alt="Tracing sessions per user">
-</div>
+</figure>
The trace data generated in a tracing session may be either saved
to disk, sent over the network or not saved at all (in which case
they arrive. The relay daemon still records events in trace files,
but a _tee_ allows to inspect incoming events.
-<div class="img img-100">
+<figure class="img img-100">
<img src="/images/docs26/lttng-live.png" alt="LTTng live">
-</div>
+</figure>
Using LTTng live
locally thus requires to run a local relay daemon.
shown running on a remote system, although it could as well run on the
target (monitored) system.
-<div class="img img-100">
+<figure class="img img-100">
<img src="/images/docs26/plumbing-26.png" alt="LTTng plumbing">
-</div>
+</figure>
Each component is described in the following subsections.
remote) consumer daemon, a _tee_ is created: trace data is recorded to
trace files _as well as_ being transmitted to a connected live viewer:
-<div class="img img-100">
+<figure class="img img-100">
<img src="/images/docs26/lttng-live.png" alt="LTTng live">
-</div>
+</figure>
In order to use this feature, a tracing session must created in live
mode on the target system: