xref: /linux/tools/tracing/rtla/README.txt (revision 056a5087d87ead77dedbe9cf5bde53b7cd4b4651)
1RTLA: Real-Time Linux Analysis tools
2
3The rtla meta-tool includes a set of commands that aims to analyze
4the real-time properties of Linux. Instead of testing Linux as a black box,
5rtla leverages kernel tracing capabilities to provide precise information
6about the properties and root causes of unexpected results.
7
8Installing RTLA
9
10RTLA depends on the following libraries and tools:
11
12 - libtracefs
13 - libtraceevent
14 - libcpupower (optional, for --deepest-idle-state)
15 - libcheck (optional, for unit tests)
16
17For BPF sample collection support, the following extra dependencies are
18required:
19
20 - libbpf 1.0.0 or later
21 - bpftool with skeleton support
22 - clang with BPF CO-RE support
23
24It also depends on python3-docutils to compile man pages.
25
26For development, we suggest the following steps for compiling rtla:
27
28  $ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git
29  $ cd libtraceevent/
30  $ make
31  $ sudo make install
32  $ cd ..
33  $ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git
34  $ cd libtracefs/
35  $ make
36  $ sudo make install
37  $ cd ..
38  $ cd $libcpupower_src
39  $ make
40  $ sudo make install
41  $ cd $rtla_src
42  $ make
43  $ sudo make install
44
45Running tests
46
47RTLA has two test suites: a runtime test suite and a unit test suite.
48
49The runtime test suite is available as "make check" (root required) and has
50the following dependencies, in addition to RTLA build dependencies:
51
52- Perl
53- Test::Harness (libtest-harness-perl on Debian/Ubuntu, perl-Test-Harness on Fedora/RHEL)
54- bash
55- coreutils
56- ldd
57- util-linux
58- procps(-ng)
59- bpftool (if rtla is built against libbpf)
60
61as well as the following required system configuration:
62
63- CONFIG_OSNOISE_TRACER=y
64- CONFIG_TIMERLAT_TRACER=y
65- tracefs mounted and readable at /sys/kernel/tracing
66
67The unit test suite is available as "make unit-tests" and has the following
68dependencies:
69
70- libcheck
71
72Unlike the runtime test suite, root is not required to run unit tests, nor is
73a tracefs/osnoise/timerlat-capable kernel required.
74
75For further information, please refer to the rtla man page.
76