aboutsummaryrefslogtreecommitdiffstats
path: root/tools/report
diff options
context:
space:
mode:
authorJulien Meunier <julien.meunier@6wind.com>2018-03-30 10:27:52 +0200
committerJulien Meunier <julien.meunier@6wind.com>2018-04-10 17:09:14 +0200
commit4ba4c2e82f8fbc59b9992f53201e26049ede44c8 (patch)
tree2de99e59cd0b2b11467ae36ca6f35ed4f18801db /tools/report
parent66029803af7f3d21a0697e3054b7dc3564bc5e7d (diff)
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>
Diffstat (limited to 'tools/report')
-rw-r--r--tools/report/report_rst.jinja4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/report/report_rst.jinja b/tools/report/report_rst.jinja
index eda0c01e..6b51807a 100644
--- a/tools/report/report_rst.jinja
+++ b/tools/report/report_rst.jinja
@@ -90,7 +90,9 @@ Testing Activities/Events
~~~~~~~~~~~~~~~~~~~~~~~~~
pidstat is used to collect the process statistics, as such some values such as
%CPU and %USER maybe > 100% as the values are summed across multiple cores. For
-more info on pidstat please see: http://linux.die.net/man/1/pidstat.
+more info on pidstat please see: http://linux.die.net/man/1/pidstat. Please
+note that vsperf recalculates the CPU consumption of a process by aggregating
+the CPU usage of each thread.
Known issues: Some reported metrics have the value "unkown". These values are
marked unknown as they are not values retrieved from the external tester