core-concepts: add diagram
[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.
37
38Conceptually, a tracing session is a per-user object; the
39[Plumbing](#doc-plumbing) section shows how this is actually
40implemented. Any user may create as many concurrent tracing sessions
41as desired. As you can see in the list above, even the tracing state
42is a per-tracing session attribute, so that you may trace your target
43system/application in a given tracing session with a specific
44configuration while another one stays inactive.
45
46The trace data generated in a tracing session may be either saved
47to disk, sent over the network or not saved at all (in which case
48snapshots may still be saved to disk or sent to a remote machine).
This page took 0.02432 seconds and 4 git commands to generate.