domain: add Python domain to list
[lttng-docs.git] / contents / preface.md
CommitLineData
5e0cbfb0
PP
1---
2id: preface
3---
4
5<div class="copyright">
6 <p>
0098bdf9 7 Copyright © 2014-2015 The LTTng Project
5e0cbfb0
PP
8 </p>
9
10 <p>
11 This work is licensed under a
12 <a class="ext" href="http://creativecommons.org/licenses/by/4.0/">Creative
13 Commons Attribution 4.0 International License</a>.
14 </p>
15</div>
16
17
18## Welcome!
19
20Welcome to the **LTTng Documentation**!
21
22The _Linux Trace Toolkit: next generation_
23is an open source system software package for correlated tracing of the
24Linux kernel, user applications and libraries. LTTng consists of kernel
25modules (for Linux kernel tracing) and dynamically loaded libraries (for
26user application and library tracing). It is controlled by a session
27daemon, which receives commands from a command line interface.
28
29
5e0cbfb0
PP
30### Convention
31
32Function and argument names, variable names, command names,
33file system paths, file names and other precise strings are written
34using a <code>monospaced typeface</code> in this document. An
35<code><em>italic</em> word</code> within such a block is a
36placeholder, usually described in the following sentence.
37
38Practical tips and sidenotes are given throughout the document using a
39blue background:
40
41<div class="tip">
42<p><span class="t">Tip:</span>Make sure you read the tips.</p>
43</div>
44
45Terminal boxes are used to show command lines:
46
47<pre class="term">
48echo This is a terminal box
49</pre>
50
51Typical command prompts, like `$` and `#`, are not shown in terminal
52boxes to make copy/paste operations easier, especially for multiline
53commands which may be copied and pasted as is in a user's terminal.
54Commands to be executed as a root user begin with `sudo`.
55
56
57### Target audience
58
59The material of this documentation is appropriate for intermediate to
60advanced software developers working in a Linux environment who are
61interested in efficient software tracing. LTTng may also be worth a
62try for students interested in the inner mechanics of their systems.
63
64Readers who do not have a programming background may wish to skip
65everything related to instrumentation, which requires, most of the
638e2868 66time, some programming language skills.
5e0cbfb0
PP
67
68<div class="tip">
69<p><span class="t">Note to readers:</span>This is an <strong>open
70documentation</strong>: its source is available in a
71<a class="ext" href="https://github.com/lttng/lttng-docs">public Git
72repository</a>. Should you find any error in the contents of this text,
720cdede 73any grammatical mistake, or any dead link, we would be very grateful if
5e0cbfb0 74you would fill a GitHub issue for it or, even better, contribute a patch
720cdede 75to this documentation by creating a pull request.</p>
5e0cbfb0
PP
76</div>
77
78### Chapter descriptions
79
80What follows is a list of brief descriptions of this documentation's
81chapters. The latter are ordered in such a way as to make the reading
82as linear as possible.
83
84 1. [Nuts and bolts](#doc-nuts-and-bolts) explains the
85 rudiments of software tracing and the rationale behind the
86 LTTng project.
87 2. [Installing LTTng](#doc-installing-lttng) is divided into
88 sections describing the steps needed to get a working installation
89 of LTTng packages for common Linux distributions and from its
90 source.
91 3. [Getting started](#doc-getting-started) is a very concise guide to
92 get started quickly with LTTng kernel and user space tracing. This
82466175 93 chapter is recommended if you're new to LTTng or to software tracing
5e0cbfb0
PP
94 in general.
95 4. [Understanding LTTng](#doc-understanding-lttng) deals with some
96 core concepts and components of the LTTng suite. Understanding
97 those is important since the next chapter assumes you're familiar
98 with them.
99 5. [Using LTTng](#doc-using-lttng) is a complete user guide of the
100 LTTng project. It shows in great details how to instrument user
101 applications and the Linux kernel, how to control tracing sessions
82466175 102 using the `lttng` command line tool, and miscellaneous practical use
5e0cbfb0 103 cases.
4d46e8c0 104 6. [Reference](#doc-reference) contains references of LTTng components.
5e0cbfb0
PP
105
106We recommend that you read the above chapters in this order, although
107some of them may be skipped depending on your situation. You may skip
108[Nuts and bolts](#doc-nuts-and-bolts) if you're familiar with tracing
82466175 109and the LTTng project. Also, you may jump over
5e0cbfb0
PP
110[Installing LTTng](#doc-installing-lttng) if LTTng is already properly
111installed on your target system.
112
113
114### Acknowledgements
115
116A few people made the online LTTng Documentation possible.
117
118Philippe Proulx wrote and formatted most of the text.
119Daniel U. Thibault, from the
120<abbr title="Defence Research and Development Canada">DRDC</abbr>,
121wrote an open guide called <em>LTTng: The Linux Trace Toolkit Next
122Generation&nbsp;&mdash;&nbsp;A Comprehensive User's Guide (version 2.3
123edition)</em> which was mostly used to complete parts of the
124[Understanding LTTng](#doc-understanding-lttng) chapter and for a few
125passages here and there.
126The whole <a href="http://www.efficios.com/" class="ext">EfficiOS</a>
127team (Christian Babeux, Antoine Busque, Julien Desfossez,
128Mathieu Desnoyers, Jérémie Galarneau and David Goulet) made essential
129reviews of the whole document.
130
131We sincerely thank everyone who helped make this documentation what
132it is. We hope you enjoy reading it as much as we did writing it.
This page took 0.026812 seconds and 4 git commands to generate.