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) | |
11 | - Function tracer, perf counters and kprobes support, | |
12 | - Integrated interface for both kernel and userspace tracing, | |
13 | - Have the ability to attach "context" information to events in the | |
14 | trace (e.g. any perf counter, pid, ppid, tid, comm name, etc). So | |
15 | basically, all the perf "required fields" like "preempt count" and | |
16 | "bkl count" are all optional, specified on a per-tracing-session basis | |
17 | (except for timestamp and event id, which are mandatory). | |
18 | ||
19 | To build and install, you will need to have your kernel headers available (or | |
20 | access to your full kernel source tree), and use: | |
21 | ||
22 | make | |
9d4c2d78 | 23 | make modules_install |
98541fcf MD |
24 | |
25 | If you need to specify the target directory to the kernel you want to build | |
26 | against, use: | |
27 | ||
28 | KERNELDIR=path_to_kernel_dir make | |
9d4c2d78 | 29 | KERNELDIR=path_to_kernel_dir make modules_install |
98541fcf | 30 | |
bd2fc8af MD |
31 | Use lttng-tools (git://git.lttng.org/lttng-tools.git) to control the tracer. |
32 | LTTng tools should automatically load the kernel modules when needed. | |
33 | ||
34 | Use Babeltrace (git://git.efficios.com/babeltrace.git) to print traces as a | |
35 | human-readable text log. | |
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 MD |
39 | |
40 | So far, it has been tested on vanilla kernels 2.6.38 and 2.6.39 (on x86 at the | |
41 | moment). It should work fine with newer kernels and other architectures, but | |
42 | expect build issues with kernels older than 2.6.36. The clock source currently | |
43 | used is the standard gettimeofday (slower, less scalable and less precise than | |
44 | the LTTng 0.x clocks). Support for LTTng 0.x clocks will be added back soon into | |
45 | LTTng 2.0. |