Commit | Line | Data |
---|---|---|
5e0cbfb0 PP |
1 | --- |
2 | id: tracing-the-linux-kernel | |
3 | --- | |
4 | ||
5 | Make sure LTTng-tools and LTTng-modules packages | |
6 | [are installed](#doc-installing-lttng). | |
7 | ||
8 | Since you're about to trace the Linux kernel itself, let's look at the | |
9 | available kernel events using the `lttng` tool, which has a | |
10 | Git like command line structure: | |
11 | ||
12 | <pre class="term"> | |
13 | lttng list --kernel | |
14 | </pre> | |
15 | ||
f7929219 PP |
16 | Before tracing, you need to create a session: |
17 | ||
18 | <pre class="term"> | |
19 | sudo lttng create my-session | |
20 | </pre> | |
21 | ||
5e0cbfb0 PP |
22 | <div class="tip"> |
23 | <p> | |
24 | <span class="t">Tip:</span>You can avoid using <code>sudo</code> in | |
25 | the previous and following commands if your user is part of the | |
f7929219 PP |
26 | <a href="/docs/#doc-lttng-sessiond" class="int"><code>tracing</code> |
27 | group</a>. | |
5e0cbfb0 PP |
28 | </p> |
29 | </div> | |
30 | ||
5e0cbfb0 PP |
31 | `my-session` is the tracing session name and could be anything you |
32 | like. `auto` will be used if omitted. | |
33 | ||
34 | Let's now enable some events for this session: | |
35 | ||
36 | <pre class="term"> | |
37 | sudo lttng enable-event --kernel sched_switch,sched_process_fork | |
38 | </pre> | |
39 | ||
40 | or you might want to simply enable all available kernel events (beware | |
41 | that trace files will grow rapidly when doing this): | |
42 | ||
43 | <pre class="term"> | |
44 | sudo lttng enable-event --kernel --all | |
45 | </pre> | |
46 | ||
47 | Start tracing: | |
48 | ||
49 | <pre class="term"> | |
50 | sudo lttng start | |
51 | </pre> | |
52 | ||
53 | By default, traces are saved in | |
54 | <code>~/lttng-traces/<em>name</em>-<em>date</em>-<em>time</em></code>, | |
55 | where <code><em>name</em></code> is the session name. | |
56 | ||
57 | When you're done tracing: | |
58 | ||
59 | <pre class="term"> | |
60 | sudo lttng stop | |
61 | sudo lttng destroy | |
62 | </pre> | |
63 | ||
64 | Although `destroy` looks scary here, it doesn't actually destroy the | |
65 | outputted traces: it only destroys the tracing session. | |
66 | ||
67 | What's next? Have a look at | |
68 | [Viewing and analyzing your traces](#doc-viewing-and-analyzing-your-traces) | |
69 | to view and analyze the trace you just recorded. |