This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1380048 - pmlogger sends PROFILE PDU unnecessarily every fetch
pmlogger sends PROFILE PDU unnecessarily every fetch
Status: NEW
Product: Fedora
Classification: Fedora
Component: pcp (Show other bugs)
26
Unspecified Unspecified
unspecified Severity low
: ---
: ---
Assigned To: pcp-maint
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-09-28 11:04 EDT by Frank Ch. Eigler
Modified: 2017-08-23 10:59 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
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)

  None (edit)
Description Frank Ch. Eigler 2016-09-28 11:04:37 EDT
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 16:24:09 EDT
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 13:18:57 EDT
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 05:22:07 EST
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

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