pcp
[Top] [All Lists]

pcp updates: pmmgr, pmwebd

To: pcp developers <pcp@xxxxxxxxxxx>
Subject: pcp updates: pmmgr, pmwebd
From: "Frank Ch. Eigler" <fche@xxxxxxxxxx>
Date: Tue, 21 Apr 2015 18:44:05 -0400
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mutt/1.4.2.2i
Hi -

3-week ping re. pcpfans.git fche/pmmgr:


commit 583b350d98246f9082253f04b76b682985c0de55
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Sun Apr 5 17:17:34 2015 -0400

    pmmgr subtarget-containers: disable by default
    
    Investigation of PR1106 indicates that pmcd is too fragile to use with
    containers safely, e.g., a pmda can get stuck within a container
    namespace, rendering further normal use of that pmda useless.  Until
    this is fixed, let's not supply /etc/pcp/pmmgr/subtarget-containers.

commit 35c490f3f6ca7c800a09d1903bfc2a9e03a83352
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Wed Apr 1 21:05:21 2015 -0400

    pmmgr: lengthen subtarget-containers qa/668
    
    Further testing on a slower virtual machine shows situations where
    pmlogconf & docker run dramatically slower than on full workstations,
    whether due to bare-metalness, number of processors, presence of
    selinux bugs & troubleshooting thereof, etc.  This test case is
    made more conservative in terms of timing (3ish minutes) and more
    defensive of iffy docker situations.

commit d42afe606b02e2fa570b34a0313add8aa555619a
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Tue Mar 31 21:15:23 2015 -0400

    pmmgr: subtarget-containers qa/668
    
    A relatively short (60-second) test that fires up a pmmgr only in
    order to attach pmloggers to a few *real live* docker containers.
    (That means the qa-invoking user probably needs to be in group
    'docker'; something checked by the qa script.)  The docker container
    being used is a tiny "busybox sleep XX" kind, so there should be
    only minimal disk/network consumption.
    
    The tests do not assert anything about the contents of the pcp
    archives resulting from the per-container attachment.  In my tests,
    they got apprx. zero actual content, other than proper pmcd.hostname.
    There ought to be a pmlogconf ditty for the container's own cgroup
    stats, and disk/network stuff should eventually be correct.

commit 8864f4e2d9824933d8d598e8361869d58815a2b8
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Tue Mar 31 18:35:23 2015 -0400

    pmmgr: subtarget-containers support
    
    Add support for a config option "subtarget-containers", which
    implicitly forks further pmlogger (but not pmie: PR1105) instances for
    all running containers on an identified target host.  The host's
    host-id string gets a "--CONTAINER" code attached, and the connection
    hostspec gets a "container=XXXXX" appended with a ? or & suffix-prefix.


and some work on pcpfans.git fche/pmwebd:


commit 40a606d419ec8d8cfcaeb2551ded9d0cf424c690
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Tue Apr 21 18:12:59 2015 -0400

    PR1099 (compressed archive) mitigation in pmwebd: skip them in graphite mode
    
    As per PR1099, pmwebd graphite mode searches deeply conflict with
    compressed mode archives, because these cost a lot of time to
    individually decompress (and perhaps many times repeatedly).  A new
    heuristic in pmgraphite_enumerate_metrics() rejects them.  QA
    included (+ regenerated qa/661.out).

commit c9597c675773fc37b93f428be24e9e55f2dd3994
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Tue Apr 21 10:35:21 2015 -0400

    pmwebd crasher fix: png-rendered multiple graphs with corrupt archives
    
    It was discovered that if pmwebd (in graphite, render-to-png mode) was
    told to draw a mixture of archives, some of which were corrupt enough
    to fail pmGetArchiveEnd(), it could crash during the time-series
    importance-analysis stage.  We now protect against that particular
    case, and improve diagnostics for that and others.  QA included
    using two new pcpqa archives, one featuring 100% Genuine Corruption.

commit 96581262dfedee20c080218bc106d1f762ca3a9c
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Sun Mar 8 16:43:37 2015 -0400

    pmwebd: handle exit_p requested during graphite data-mass gathering
    
    If we receive a SIGINT during pmgraphite_fetch_all_series, it will
    return early, but perhaps without all the correct geometry in the
    vector<STUFF> it returns.  The caller pmgraphite_respond_render_gfx
    now checks for exit_p right after that call, so a badly-timed SIGINT
    doesn't trigger later geometry-assertions.

commit 7305d8ea49331f45767724a83e58ca4d1a49babd
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Mon Mar 2 13:35:02 2015 -0500

    pmwebd: fix little memory leak for fts() during interrupted rendering
    
    The metric-enumeration loop using fts(3) could formerly exit without a
    fts_close() in case of a top-level ^C (exit_p shutdown).  It's an
    insignificant leak, but what the heck.

commit fed7789015f35586eac6dd33da088e19c2c58d41
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Sat Feb 28 09:35:09 2015 -0500

    pmwebd: add a "-i MIN-INTERVAL" option for graphite time-precision control
    
    When pmlogger data is sampled more frequently than /60s, it is
    desirable to let graphite render data at a higher time resolution.
    Oversampling leads to wiggles due to interpolation FP artifacts, so is
    undesirable.  The pmwebd invoker is best placed to judge the right
    tradeoff, so is given an option to set the minimum time-step size.

<Prev in Thread] Current Thread [Next in Thread>