Open portante opened 2 years ago
Filed PR https://github.com/performancecopilot/pcp/pull/1586 to fix the pcp pidstat -p ALL
handling.
Filed PR https://github.com/performancecopilot/pcp/pull/1587 to add the -u
switch.
Filed PR https://github.com/performancecopilot/pcp/pull/1588 to add the -w
switch.
Started work to add -d
support to pcp pidstat
, and then we can consider working on -h
support to get one line output.
However, to replace pidstat
data collection with PCP for Pbench, all I think we need to do is generate a list of metrics that a pmlogger
can collect so that pcp pidstat
can read from it later.
Investigation into Replacing
pidstat
Tool ImplementationThe
pidstat
Pbench Agent tool is a wrapper around thesysstat
v12.0.3-1 version of thepidstat
command. The specific version is because the Pbench Agent wrapper,pidstat-convert
(agent/tool-scripts/datalog/
), understands a very specific output format, and v12.0.3-1 was the last version ofsysstat
against which it is verified to work.The ultimate invocation of the
pidstat
command looks like the following:pidstat -l -H -w -u -h -d -r -p ALL
-t
switch can be added via tool registration using:pbench-register-tool --name=pidstat -- --threads
pbench-register-tool --name=pidstat -- --patterns="(apache|httpd|*nginx*)"
-C (apache|httpd|*nginx*)
being added to thepidstat
command linepidstat
options by using:pbench-register-tool --name=pidstat -- --options='-s -v'
What About Using the
pcp pidstat
Command?Not an option at this time because not all the options used currently are supported by
pcp pidstat
. Here are the unsupported options:-H
-- Does not support this option, but does support emitting time stamps in seconds since the Epoch using-f '%s'
-w
-- Does not support reporting task switching data-u
-- Does not support reporting CPU utilization-h
-- Does not support one-line reporting request (no averages)-d
-- Does not support I/O statistics reporting-p ALL
-- Does not appear to work, as no statistics are reportedWithout these options we cannot use
pcp-pidstat
as a direct replacement.However, we probably wouldn't want to since we really don't want to replace the command as is, but move to a PCP archive collection directly, and then have the data generated from the archive for compatibility.