Merge remote-tracking branch 'gh-tuxology/patch-1'
[lttng-docs.git] / contents / using-lttng / intro.md
CommitLineData
5e0cbfb0
PP
1---
2id: using-lttng
3---
4
5Using LTTng involves two main activities: **instrumenting** and
6**controlling tracing**.
7
8_[Instrumenting](#doc-instrumenting)_ is the process of inserting probes
9into some source code. It can be done manually, by writing tracepoint
10calls at specific locations in the source code of the program to trace,
11or more automatically using dynamic probes (address in assembled code,
12symbol name, function entry/return, etc.).
13
14It has to be noted that, as an LTTng user, you may not have to worry
15about the instrumentation process. Indeed, you may want to trace a
16program already instrumented. As an example, the Linux kernel is
17thoroughly instrumented, which is why you can trace it without caring
18about adding probes.
19
20_[Controlling tracing](#doc-controlling-tracing)_ is everything
21that can be done by the LTTng session daemon, which is controlled using
22`liblttng-ctl` or its command line utility, `lttng`: creating tracing
23sessions, listing tracing sessions and events, enabling/disabling
24events, starting/stopping the tracers, taking snapshots, etc.
25
26This chapter is a complete user guide of both activities,
27with common use cases of LTTng exposed throughout the text. It is
28assumed that you are familiar with LTTng's concepts (events, channels,
29domains, tracing sessions) and that you understand the roles of its
30components (daemons, libraries, command line tools); if not, we invite
31you to read the [Understanding LTTng](#doc-understanding-lttng) chapter
32before you begin reading this one.
33
34If you're new to LTTng, we suggest that you rather start with the
35[Getting started](#doc-getting-started) small guide first, then come
36back here to broaden your knowledge.
37
38If you're only interested in tracing the Linux kernel with its current
39instrumentation, you may skip the
40[Instrumenting](#doc-instrumenting) section.
This page took 0.024217 seconds and 4 git commands to generate.