pcp
[Top] [All Lists]

pcp updates - libpcp fix for bug 1044

To: pcp@xxxxxxxxxxx
Subject: pcp updates - libpcp fix for bug 1044
From: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Tue, 24 Mar 2015 15:09:08 +1100
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0
Changes committed to git://git.pcp.io/kenj/pcp master

Ken McDonell (1):
      libpcp/interp.c: fix one performance issue (Bug 1044)

 qa/787.out                   |    6 ++--
 src/libpcp/src/check-statics |    1 
 src/libpcp/src/interp.c      |   64 +++++++++++++++++++++++++++----------------
 3 files changed, 44 insertions(+), 27 deletions(-)

Details ...

commit 09f68c6b374abd4b71053d40c29673fa645628f4
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Tue Mar 24 07:36:34 2015 +1100

    libpcp/interp.c: fix one performance issue (Bug 1044)
    
    Additional logic added to avoid rescanning the region beween the
    current time point and the next <mark> record once it has been
    established there are not useful metric-instance values in this
    region.
    
    The reason this has not been seen before is that for most archives
    the logged metrics are similar and repeated often, so there are
    only small regions between the last logged value and a <mark>
    record.  When the archive is large and some metric may be logged
    infrequently (like once per pmlogger execution), then the problem
    becomes evident.
    
    This fix addresses the most glaring cause of Frank's observed
    performance problems in
    http://oss.sgi.com/bugzilla/show_bug.cgi?id=1044
    as shown below:
    
    Command:
    pmval -t 60 -a super-SLOW-merged-archive-20140124.225919 pmcd.numagents
    
    Original
    real        6m1.836s
    user        4m55.990s
    sys 1m5.705s
    
    New
    real        0m32.297s
    user        0m29.620s
    sys 0m2.690s
    
    That's better than an 11-fold reduction in CPU time ... and the output
    is identical.
    
    With this fix, most of the qa/787 failures are resolved (I have one
    more case to investigate) and qa -g archive passes (so no regressions
    that I can see).

<Prev in Thread] Current Thread [Next in Thread>
  • pcp updates - libpcp fix for bug 1044, Ken McDonell <=