Bug 1297498 - pcp pmiostat does not output in enough precision
pcp pmiostat does not output in enough precision
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: pcp (Show other bugs)
6.7
Unspecified Unspecified
unspecified Severity urgent
: rc
: ---
Assigned To: nikhil
Miloš Prchlík
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-01-11 11:29 EST by Dwight (Bud) Brown
Modified: 2017-03-21 07:20 EDT (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-03-21 07:20:24 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
testcases (186.17 KB, image/png)
2016-03-10 00:18 EST, nikhil
no flags Details

  None (edit)
Description Dwight (Bud) Brown 2016-01-11 11:29:21 EST
Description of problem:
iostat outputs with two digits of precision which is useful for current storage low-latency hardware. Note in the following the await_r time is 0.01ms.  The PCP pmiostat output outputs 1 digit of precision.  Needs a minimum of 2 digits of precision like iostat.

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util PR

nvme0n1           0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00 0
nvme0n1           0.00     0.00 16141.00    0.00 64564.00     0.00     8.00     0.28    0.02    0.02    0.00   0.02  28.00 1
nvme0n1           0.00     0.00 79626.00    0.00 318504.00     0.00     8.00     0.90    0.01    0.01    0.00   0.01  89.70 1
nvme0n1           0.00     0.00 77544.00    0.00 310176.00     0.00     8.00     0.89    0.01    0.01    0.00   0.01  88.50 1
nvme0n1           0.00     0.00 82527.00    0.00 330108.00     0.00     8.00     0.93    0.01    0.01    0.00   0.01  93.20 1
nvme0n1           0.00     0.00 80367.00    0.00 321468.00     0.00     8.00     0.89    0.01    0.01    0.00   0.01  89.50 1
nvme0n1           0.00     0.00 79825.00    0.00 319300.00     0.00     8.00     0.86    0.01    0.01    0.00   0.01  85.90 0
nvme0n1           0.00     0.00 78147.00    0.00 312588.00     0.00     8.00     0.90    0.01    0.01    0.00   0.01  89.80 1
nvme0n1           0.00     0.00 79992.00    0.00 319968.00     0.00     8.00     0.87    0.01    0.01    0.00   0.01  86.70 1
nvme0n1           0.00     0.00 79402.00    0.00 317608.00     0.00     8.00     0.91    0.01    0.01    0.00   0.01  90.50 1
nvme0n1           0.00     0.00 78224.00    0.00 312896.00     0.00     8.00     0.87    0.01    0.01    0.00   0.01  87.10 0
nvme0n1           0.00     0.00 79644.00    0.00 318576.00     0.00     8.00     0.88    0.01    0.01    0.00   0.01  87.80 1
nvme0n1           0.00     0.00 79324.00    0.00 317296.00     0.00     8.00     0.85    0.01    0.01    0.00   0.01  85.40 1
nvme0n1           0.00     0.00 79529.00    0.00 318116.00     0.00     8.00     0.84    0.01    0.01    0.00   0.01  83.90 1
nvme0n1           0.00     0.00 29708.00    0.00 118832.00     0.00     8.00     0.33    0.01    0.01    0.00   0.01  32.90 0
nvme0n1           0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00 0


pmiostat
# Device      rrqm/s  wrqm/s    r/s    w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await %util
sda              0.0     0.0    0.0    0.0      0.0      0.0     0.00     0.00     0.0     0.0     0.0   0.0
sdaa             0.0     0.0    0.0    0.0      0.0      0.0     0.00     0.00     0.0     0.0     0.0   0.0




Version-Release number of selected component (if applicable):
latest shipped PCP in RHEL6.
pcp-libs-3.10.3-3.el6.x86_64
pcp-conf-3.10.3-3.el6.x86_64
python-pcp-3.10.3-3.el6.x86_64
pcp-3.10.3-3.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1.
2.
3.

Actual results:
low precision obscures real latency values

Expected results:
enough precision that latency value is not obscured.

Additional info:
Comment 2 Mark Goodwin 2016-01-11 19:58:01 EST
Hi Bud, how about we just add  -f N  flag, same as supported by pmval(1) to allow N digits of precision (default N=1)? This would keep the current default at 1 digit of precision (and so wouldn't upset any PCP QA tests), but allow more digits in the pmiostat client-side reporting when needed. The full precision is always available in the captured logs, so no collector/PMDA side changes are needed here.

Alternatively we could just increase the precision for the await fields, but I think -f is more flexible.

Thanks
-- Mark
Comment 3 Dwight (Bud) Brown 2016-01-12 17:40:03 EST
Mark, 

That works.  Its similar to what collectl does... there is (I think) a -x flag for extended precision so already have to do something similar if the data collection is from that environment.
Comment 6 nikhil 2016-03-10 00:18 EST
Created attachment 1134697 [details]
testcases
Comment 8 Nathan Scott 2016-12-13 20:22:03 EST
This is fixed in upstream commit af4cbb06c117fe.
Comment 10 Miloš Prchlík 2017-01-28 07:47:25 EST
Verified manually with build pcp-3.10.9-9.el6.
Comment 12 errata-xmlrpc 2017-03-21 07:20:24 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2017-0735.html

Note You need to log in before you can comment on or make changes to this bug.