sysmetrics/pidstat: monitor all threads 89/55089/2
authorJulien Meunier <julien.meunier@6wind.com>
Fri, 30 Mar 2018 08:27:52 +0000 (10:27 +0200)
committerJulien Meunier <julien.meunier@6wind.com>
Tue, 10 Apr 2018 15:09:14 +0000 (17:09 +0200)
commit4ba4c2e82f8fbc59b9992f53201e26049ede44c8
tree2de99e59cd0b2b11467ae36ca6f35ed4f18801db
parent66029803af7f3d21a0697e3054b7dc3564bc5e7d
sysmetrics/pidstat: monitor all threads

Since sysstat commit 52977c479d3d ("Introduce new SP_VALUE_100() macro
and use it in pidstat"), pidstat can return a wrong CPU usage for all
monitored PIDs.

For example, if a process like ovs-vswitchd uses 2 threads, the CPU
usage of each thread (TID) is equal to 100%, so the CPU usage of the
main process (PID) must be equal at least to 200%. However, with this
sysstat commit, the CPU usage is restricted to 100%. It is not possible
to change this behavior.

Now, pidstat is started in order to monitor all threads created by a
process. As the output header has changed, readapt the existing code.

In order to fix this issue, only the CPU usage is accumulated with all
threads. For all other measures, main process should report correct
values.

JIRA: VSPERF-569

Change-Id: I98aa94f545d04f4de1b994c420fb5756c6f2a387
Signed-off-by: Julien Meunier <julien.meunier@6wind.com>
tools/collectors/sysmetrics/pidstat.py
tools/report/report_rst.jinja