Initial import
[lttng-docs.git] / contents / understanding-lttng / plumbing / lttng-ust.md
CommitLineData
5e0cbfb0
PP
1---
2id: lttng-ust
3---
4
5The user space tracing part of LTTng is possible thanks to the user
6space tracing library, `liblttng-ust`, which is part of the LTTng-UST
7package.
8
9`liblttng-ust` provides header files containing macros used to define
10tracepoints and create tracepoint providers, as well as a shared object
11that must be linked to individual applications to connect to and
12communicate with a session daemon and a consumer daemon as soon as the
13application starts.
14
15The exact mechanism by which an application is registered to the
16session daemon is beyond the scope of this documentation. The only thing
17you need to know is that, since the library constructor does this job
18automatically, tracepoints may be safely inserted anywhere in the source
19code without prior manual initialization of `liblttng-ust`.
20
21The `liblttng-ust`-session daemon collaboration also provides an
22interesting feature: user space events may be enabled _before_
23applications actually start. By doing this and starting tracing before
24launching the instrumented application, you make sure that even the
25earliest occurring events can be recorded.
26
27The [C application](#doc-c-application) instrumenting guide of the
28[Using LTTng](#doc-using-lttng) chapter focuses on using `liblttng-ust`:
29instrumenting, building/linking and running a user application.
This page took 0.022368 seconds and 4 git commands to generate.