| 1 | --- |
| 2 | id: controlling-tracing |
| 3 | --- |
| 4 | |
| 5 | Once you're in possession of a software that is properly |
| 6 | [instrumented](#doc-instrumenting) for LTTng tracing, be it thanks to |
| 7 | the built-in LTTng probes for the Linux kernel, a custom user |
| 8 | application or a custom Linux kernel, all that is left is actually |
| 9 | tracing it. As a user, you control LTTng tracing using a single command |
| 10 | line interface: the `lttng` tool. This tool uses `liblttng-ctl` behind |
| 11 | the scene to connect to and communicate with session daemons. LTTng |
| 12 | session daemons may either be started manually (`lttng-sessiond`) or |
| 13 | automatically by the `lttng` command when needed. Trace data may |
| 14 | be forwarded to the network and used elsewhere using an LTTng relay |
| 15 | daemon (`lttng-relayd`). |
| 16 | |
| 17 | The manpages of `lttng`, `lttng-sessiond` and `lttng-relayd` are pretty |
| 18 | complete, thus this section is not an online copy of the latter (we |
| 19 | leave this contents for the |
| 20 | [Online LTTng manpages](#doc-online-lttng-manpages) section). |
| 21 | This section is rather a tour of LTTng |
| 22 | features through practical examples and tips. |
| 23 | |
| 24 | If not already done, make sure you understand the core concepts |
| 25 | and how LTTng components connect together by reading the |
| 26 | [Understanding LTTng](#doc-understanding-lttng) chapter; this section |
| 27 | assumes you are familiar with them. |