/usr/src/lttng-modules-2.7.1/README.md is in lttng-modules-dkms 2.7.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | LTTng-modules
=============
_by [Mathieu Desnoyers](mailto:mathieu.desnoyers@efficios.com)_
LTTng kernel modules are Linux kernel modules which make
[LTTng](http://lttng.org/) kernel tracing possible. They include
essential control modules and many probes which instrument numerous
interesting parts of Linux. LTTng-modules builds against a vanilla or
distribution kernel, with no need for additional patches.
Other notable features:
- Produces [CTF](http://www.efficios.com/ctf)
(Common Trace Format) natively.
- Tracepoints, function tracer, CPU Performance Monitoring Unit (PMU)
counters, kprobes, and kretprobes support.
- Have the ability to attach _context_ information to events in the
trace (e.g., any PMU counter, PID, PPID, TID, command name, etc).
All the extra information fields to be collected with events are
optional, specified on a per-tracing-session basis (except for
timestamp and event ID, which are mandatory).
Building
--------
To build and install LTTng-modules, you will need to have your kernel
headers available (or access to your full kernel source tree), and do:
make
sudo make modules_install
sudo depmod -a
The above commands will build LTTng-modules against your
current kernel. If you need to build LTTng-modules against a custom
kernel, do:
make KERNELDIR=/path/to/custom/kernel
sudo make KERNELDIR=/path/to/custom/kernel modules_install
sudo depmod -a kernel_version
### Required kernel config options
Make sure your target kernel has the following config options enabled:
- `CONFIG_MODULES`: loadable module support
- `CONFIG_KALLSYMS`: see files in [`wrapper`](wrapper); this is
necessary until the few required missing symbols are exported to GPL
modules from mainline
- `CONFIG_HIGH_RES_TIMERS`: needed for LTTng 2.x clock source
- `CONFIG_TRACEPOINTS`: kernel tracepoint instrumentation
(enabled as a side-effect of any of the perf/ftrace/blktrace
instrumentation features)
### Supported (optional) kernel config options
The following kernel configuration options will affect the features
available from LTTng:
- `CONFIG_HAVE_SYSCALL_TRACEPOINTS`: system call tracing:
lttng enable-event -k --syscall
lttng enable-event -k -a
- `CONFIG_PERF_EVENTS`: performance counters:
lttng add-context -t perf:*
- `CONFIG_EVENT_TRACING`: needed to allow block layer tracing
- `CONFIG_KPROBES`: dynamic probes:
lttng enable-event -k --probe ...
- `CONFIG_KRETPROBES`: dynamic function entry/return probes:
lttng enable-event -k --function ...
- `CONFIG_KALLSYMS_ALL`: state dump of mapping between block device
number and name
Using
-----
Use [LTTng-tools](https://lttng.org/download) to control the tracer.
The session daemon of LTTng-tools should automatically load the LTTng
kernel modules when needed. Use [Babeltrace](https://lttng.org/babeltrace)
to print traces as a human-readable text log.
Support
-------
Linux kernels >= 2.6.36 are supported.
Notes
-----
### About perf PMU counters support
Each PMU counter has its zero value set when it is attached to a context with
add-context. Therefore, it is normal that the same counters attached to both the
stream context and event context show different values for a given event; what
matters is that they increment at the same rate.
|