Bug 1380048

Summary: pmlogger sends PROFILE PDU unnecessarily every fetch
Product: [Fedora] Fedora Reporter: Frank Ch. Eigler <fche>
Component: pcpAssignee: pcp-maint <pcp-maint>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 29CC: fche, kenj, lberk, mgoodwin, nathans, pcp
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-05 03:28:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Frank Ch. Eigler 2016-09-28 15:04:37 UTC
Came across this while investigating bug #1345821.

When using a pmlogger configuration file that identifies individual instances to be fetched, pmlogger runs profile-manipulation operations at every fetch, even if redundant (since the indom profile selection hasn't changed since the last fetch).  This wastes CPU & network resources. 

% cat foo.conf 
 log mandatory on 1 sec { kernel.all.load ["1 minute"]  proc.psinfo.tgid [10156] }

% rm FOO.* ; pmlogger -Dpdu -r -l / -T 10sec -c foo.conf FOO
[...steady state...]
[30654]pmXmitPDU: PROFILE fd=3 len=68
000:       44     7002        0        0        0  2000000        0  900c000 
008:  1000000  1000000        0  200000f  1000000  1000000        0 ac270000 
016:  1000000 
[30654]pmXmitPDU: FETCH fd=3 len=36
000:       24     7003        0        0        0        0  2000000    8000f 
008: 2960c000 
[30654]pmGetPDU: RESULT fd=3 len=72 from=0
000:       48     7001        0 c8dbeb57 8ae80700  2000000    8000f  1000000 
008:  1000000  1000000 10000000 2960c000  1000000        0 ac270000 ac270000 
016:  8000004 713d8a3e 
pmResult dump from 0x558e08157890 timestamp: 1475075016.518282 11:03:36.518 numpmid: 2
  60.2.0 (kernel.all.load): numval: 1 valfmt: 1 vlist[]:
    inst [1 or "1 minute"] value 0.27000001
  3.24.41 (proc.psinfo.tgid): numval: 1 valfmt: 0 vlist[]:
    inst [10156 or "010156 /bin/zsh"] value 10156

Comment 1 Ken McDonell 2016-10-29 20:24:09 UTC
Frank,

Not sure there is a lot we can do about this.

Consider this pmlogger config

log mandatory on 5min {
    kernel.all.load ["5 minute"]
}
log mandatory on 1min {
    kernel.all.load ["1 minute"]
}

Given that there is one context for pmlogger it does not have much choice other than to send the relevant profile before each fetch.

Comment 2 Frank Ch. Eigler 2016-10-30 17:18:57 UTC
Ken, even in that case, pmlogger could
- use two contexts (one per time period or per profile setting or similar)
or
- track profile status quo on the client side, and thus note in your example that four of the five "1 minute" fetches don't need profile resets between them

We wouldn't have to find the optimal settings to improve significantly upon the pessimal ones currently in effect.

Comment 3 Fedora End Of Life 2017-02-28 10:22:07 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 4 Fedora End Of Life 2018-05-03 09:06:12 UTC
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '26'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 5 Jan Kurik 2018-08-14 11:00:45 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 6 Nathan Scott 2019-03-05 03:28:49 UTC
This is a non-issue in practice, and is unlikely to ever get on the radar of pcp engineers.  Closing.