Commit | Line | Data |
---|---|---|
98541fcf MD |
1 | LTTng 2.0 modules |
2 | ||
3 | Mathieu Desnoyers | |
4 | July 19, 2011 | |
5 | ||
6 | LTTng 2.0 kernel modules build against a vanilla or distribution kernel, without | |
7 | need for additional patches. Other features: | |
8 | ||
9 | - Produces CTF (Common Trace Format) natively, | |
10 | (http://www.efficios.com/ctf) | |
fe178379 | 11 | - Tracepoints, Function tracer, CPU Performance Monitoring Unit (PMU) |
e5fb2910 | 12 | counters, kprobes, and kretprobes support, |
98541fcf MD |
13 | - Integrated interface for both kernel and userspace tracing, |
14 | - Have the ability to attach "context" information to events in the | |
fe178379 MD |
15 | trace (e.g. any PMU counter, pid, ppid, tid, comm name, etc). |
16 | All the extra information fields to be collected with events are | |
17 | optional, specified on a per-tracing-session basis (except for | |
18 | timestamp and event id, which are mandatory). | |
98541fcf MD |
19 | |
20 | To build and install, you will need to have your kernel headers available (or | |
21 | access to your full kernel source tree), and use: | |
22 | ||
6b408629 MD |
23 | % make |
24 | # make modules_install | |
98541fcf MD |
25 | |
26 | If you need to specify the target directory to the kernel you want to build | |
27 | against, use: | |
28 | ||
6b408629 MD |
29 | % KERNELDIR=path_to_kernel_dir make |
30 | # KERNELDIR=path_to_kernel_dir make modules_install | |
98541fcf | 31 | |
6b408629 MD |
32 | Use lttng-tools to control the tracer. LTTng tools should automatically load |
33 | the kernel modules when needed. Use Babeltrace to print traces as a | |
34 | human-readable text log. These tools are available at the following URL: | |
35 | http://lttng.org/lttng2.0 | |
bd2fc8af MD |
36 | |
37 | Please note that the LTTng-UST 2.0 (user-space tracing counterpart of LTTng 2.0) | |
38 | is still in active development and not released yet. | |
98541fcf | 39 | |
3da843ea MD |
40 | So far, it has been tested on vanilla Linux kernels 2.6.38, 2.6.39 and 3.0 (on |
41 | x86 32/64-bit, and powerpc 32-bit at the moment, build tested on ARM). It should | |
42 | work fine with newer kernels and other architectures, but expect build issues | |
43 | with kernels older than 2.6.36. The clock source currently used is the standard | |
44 | gettimeofday (slower, less scalable and less precise than the LTTng 0.x clocks). | |
45 | Support for LTTng 0.x clocks will be added back soon into LTTng 2.0. Please | |
46 | note that lttng-modules 2.0 can build on a Linux kernel patched with the LTTng | |
47 | 0.x patchset, but the lttng-modules 2.0 replace the lttng-modules 0.x, so both | |
c65998d6 | 48 | tracers cannot be installed at the same time for a given kernel version. |
a3a8ea22 MD |
49 | |
50 | * Note about Perf PMU counters support | |
51 | ||
52 | Each PMU counter has its zero value set when it is attached to a context with | |
53 | add-context. Therefore, it is normal that the same counters attached to both the | |
54 | stream context and event context show different values for a given event; what | |
55 | matters is that they increment at the same rate. |