Red Hat Bugzilla – Bug 1380048
pmlogger sends PROFILE PDU unnecessarily every fetch
Last modified: 2017-08-23 10:59:03 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
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.
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.
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'.