dada03db9b
Daniel Wagner reported to me that readproc.h got deprecated. Also, while the procps-ng library was available on Fedora, it was not available on RHEL, which is a piece of evidence that it was not that used. rtla uses procps-ng only to find the PID of the tracers' workload. I used the procps-ng library to avoid reinventing the wheel. But in this case, reinventing the wheel took me less time than the time we already took trying to work around problems. Implement a function that reads /proc/ entries, checking if: - the entry is a directory - the directory name is composed only of digits (PID) - the directory contains the comm file - the comm file contains a comm that matches the tracers' workload prefix. - then return true; otherwise, return false. And use it instead of procps-ng. Link: https://lkml.kernel.org/r/e8276e122ee9eb2c5a0ba8e673fb6488b924b825.1652423574.git.bristot@kernel.org Cc: John Kacur <jkacur@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Tao Zhou <tao.zhou@linux.dev> Fixes: b1696371d865 ("rtla: Helper functions for rtla") Reported-by: Daniel Wagner <dwagner@suse.de> Reviewed-by: Daniel Wagner <dwagner@suse.de> Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
34 lines
924 B
Plaintext
34 lines
924 B
Plaintext
RTLA: Real-Time Linux Analysis tools
|
|
|
|
The rtla meta-tool includes a set of commands that aims to analyze
|
|
the real-time properties of Linux. Instead of testing Linux as a black box,
|
|
rtla leverages kernel tracing capabilities to provide precise information
|
|
about the properties and root causes of unexpected results.
|
|
|
|
Installing RTLA
|
|
|
|
RTLA depends on the following libraries and tools:
|
|
|
|
- libtracefs
|
|
- libtraceevent
|
|
|
|
It also depends on python3-docutils to compile man pages.
|
|
|
|
For development, we suggest the following steps for compiling rtla:
|
|
|
|
$ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git
|
|
$ cd libtraceevent/
|
|
$ make
|
|
$ sudo make install
|
|
$ cd ..
|
|
$ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git
|
|
$ cd libtracefs/
|
|
$ make
|
|
$ sudo make install
|
|
$ cd ..
|
|
$ cd $rtla_src
|
|
$ make
|
|
$ sudo make install
|
|
|
|
For further information, please refer to the rtla man page.
|