Add captions to figures
[lttng-docs.git] / contents / understanding-lttng / core-concepts / tracing-session.md
CommitLineData
5e0cbfb0
PP
1---
2id: tracing-session
3---
4
5A _tracing session_ is—like any session—a container of
6state. Anything that is done when tracing using LTTng happens in the
7scope of a tracing session. In this regard, it is analogous to a bank
8website's session: you can't interact online with your bank account
9unless you are logged in a session, except for reading a few static
10webpages (LTTng, too, can report some static information that does not
11need a created tracing session).
12
13A tracing session holds the following attributes and objects (some of
14which are described in the following sections):
15
16 * a name
17 * the tracing state (tracing started or stopped)
18 * the trace data output path/URL (local path or sent over the network)
19 * a mode (normal, snapshot or live)
20 * the snapshot output paths/URLs (if applicable)
21 * for each [domain](#doc-domain), a list of [channels](#doc-channel)
22 * for each channel:
23 * a name
24 * the channel state (enabled or disabled)
25 * its parameters (event loss mode, sub-buffers size and count,
ba3b1994 26 timer periods, output type, trace files size and count, and the rest)
5e0cbfb0
PP
27 * a list of added context information
28 * a list of [events](#doc-event)
29 * for each event:
30 * its state (enabled or disabled)
31 * a list of instrumentation points (tracepoints, system calls,
ba3b1994 32 dynamic probes, other types of probes)
5e0cbfb0
PP
33 * associated log levels
34 * a filter expression
35
36All this information is completely isolated between tracing sessions.
66b69963
PP
37As you can see in the list above, even the tracing state
38is a per-tracing session attribute, so that you may trace your target
39system/application in a given tracing session with a specific
40configuration while another one stays inactive.
41
5703c9f3 42<figure class="img img-100">
66b69963 43<img src="/images/docs26/concepts.png" alt="LTTng concepts">
d9a0e8b1
PP
44<figcaption>
45 A <em>tracing session</em> is a container of domains,
46 channels, and events.
47</figcaption>
5703c9f3 48</figure>
5e0cbfb0
PP
49
50Conceptually, a tracing session is a per-user object; the
51[Plumbing](#doc-plumbing) section shows how this is actually
52implemented. Any user may create as many concurrent tracing sessions
66b69963
PP
53as desired.
54
5703c9f3 55<figure class="img img-100">
66b69963 56<img src="/images/docs26/many-sessions.png" alt="Tracing sessions per user">
d9a0e8b1
PP
57<figcaption>
58 Each user may create as many tracing sessions as desired.
59</figcaption>
5703c9f3 60</figure>
5e0cbfb0
PP
61
62The trace data generated in a tracing session may be either saved
63to disk, sent over the network or not saved at all (in which case
64snapshots may still be saved to disk or sent to a remote machine).
This page took 0.024642 seconds and 4 git commands to generate.