pcp
[Top] [All Lists]

pcp updates: webd, hotproc, docs

To: pcp developers <pcp@xxxxxxxxxxx>
Subject: pcp updates: webd, hotproc, docs
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Wed, 29 Apr 2015 23:12:31 -0400 (EDT)
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <1606331413.10036123.1430363158324.JavaMail.zimbra@xxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: 9kKIrpG8jNrHJUY4FDuDNkwtMfm4eA==
Thread-topic: pcp updates: webd, hotproc, docs
Changes committed to git://git.pcp.io/nathans/pcp.git master

Frank Ch. Eigler (7):
      pmwebd: add a "-i MIN-INTERVAL" option for graphite time-precision control
      pmwebd: fix little memory leak for fts() during interrupted rendering
      pmwebd: handle exit_p requested during graphite data-mass gathering
      pmwebd crasher fix: png-rendered multiple graphs with corrupt archives
      PR1099 (compressed archive) mitigation in pmwebd: skip them in graphite 
mode
      pmwebd graphite-png rendering: tweak graphics
      pmwebd: add -I option for opening directories-as-archives for graphite

Martins Innus (6):
      hotproc - support disabling via pmstore
      hotproc - update qa for recent config changes
      hotproc - disallow hotproc.conf with global write mode
      hotproc - Allow config file reload
      hotproc - update the pmdaproc manpage with hotproc information
      hotproc - add a new error code for malformed pmstore input

Nathan Scott (2):
      Revert "hotproc - add a new error code for malformed pmstore input" for 
now
      docs: update pmdaproc.1 man page a little, drop pmdahotproc.1

Marko Myllynen (1):
      docs: describe hotproc in the quick reference guide


 man/html/guide.html                        |   50 -
 man/man1/pmwebd.1                          |   20 
 man/man3/pmwebapi.3                        |    4 
 qa/006.out                                 |    4 
 qa/661                                     |   34 
 qa/661.out                                 | 1311 ++++++++++++++++++++++++++++-
 qa/982                                     |    5 
 qa/982.out                                 |   10 
 qa/archives/archive-20150417.131733.0      |binary
 qa/archives/archive-20150417.131733.index  |binary
 qa/archives/archive-20150417.131733.meta   |binary
 qa/archives/archive-goodred-20150417.0     |binary
 qa/archives/archive-goodred-20150417.index |binary
 qa/archives/archive-goodred-20150417.meta  |binary
 src/include/pcp/pmapi.h                    |    2 
 src/libpcp/src/err.c                       |    4 
 src/pmdas/linux_proc/config.c              |   30 
 src/pmdas/linux_proc/error.c               |    6 
 src/pmdas/linux_proc/gram.y                |   12 
 src/pmdas/linux_proc/hotproc.c             |    2 
 src/pmdas/linux_proc/hotproc.h             |    1 
 src/pmdas/linux_proc/lex.l                 |    8 
 src/pmdas/linux_proc/pmda.c                |   27 
 src/pmdas/linux_proc/pmdahotproc.1         |  187 ----
 src/pmdas/linux_proc/pmdaproc.1            |  230 ++++-
 src/pmdas/linux_proc/proc_pid.c            |   23 
 src/pmdas/linux_proc/proc_pid.h            |   12 
 src/pmdas/linux_proc/root_proc             |    1 
 src/pmwebapi/main.cxx                      |   31 
 src/pmwebapi/pmgraphite.cxx                |  149 ++-
 src/pmwebapi/pmwebapi.h                    |    5 
 src/pmwebapi/pmwebd.options                |    5 
 32 files changed, 1794 insertions(+), 379 deletions(-)


commit 613f296cfd915cb119fb57ad287730f2d9967c28
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Thu Apr 30 12:17:02 2015 +1000

    docs: update pmdaproc.1 man page a little, drop pmdahotproc.1

commit 4803ede912410cc6bd4e8ddb995e6b74fb392bd1
Author: Marko Myllynen <myllynen@xxxxxxxxxx>
Date:   Thu Apr 30 11:47:05 2015 +1000

    docs: describe hotproc in the quick reference guide

commit 2cb86d5135876ec2eb721c9fb78a60636d472a97
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Thu Apr 30 10:19:13 2015 +1000

    Revert "hotproc - add a new error code for malformed pmstore input" for now
    
    This reverts commit 4cef14619b682c91f982b103e4751416e354e3d1.

commit 4cef14619b682c91f982b103e4751416e354e3d1
Author: Martins Innus <minnus@xxxxxxxxxxx>
Date:   Wed Apr 29 18:46:09 2015 +0000

    hotproc - add a new error code for malformed pmstore input

commit e20343ea9ae4dc228d3250a9019c08fb60ddbffc
Author: Martins Innus <minnus@xxxxxxxxxxx>
Date:   Wed Apr 29 17:39:03 2015 +0000

    hotproc - update the pmdaproc manpage with hotproc information

commit 6dcab33eed485c0f534c7b52700664b82520b250
Author: Martins Innus <minnus@xxxxxxxxxxx>
Date:   Wed Apr 29 17:29:30 2015 +0000

    hotproc - Allow config file reload
    
    By using: pmstore hotproc.control.reload_config "1"
    the config file can be forced to be reloaded.
    
    Also cleaned up some duplicated code.

commit a00be8d350ab4eac1ce900dcbf2e737a0d79e4a3
Author: Martins Innus <minnus@xxxxxxxxxxx>
Date:   Wed Apr 29 16:46:57 2015 +0000

    hotproc - disallow hotproc.conf with global write mode

commit c61371d39aec7e4d3df3d4bf03ba5d1879bf3b44
Author: Martins Innus <minnus@xxxxxxxxxxx>
Date:   Wed Apr 29 16:32:55 2015 +0000

    hotproc - update qa for recent config changes
    
    Test hotproc disable and bad input

commit 288421ef56a8402aab0a2f0e7d033720443ed7dd
Author: Martins Innus <minnus@xxxxxxxxxxx>
Date:   Wed Apr 29 15:30:04 2015 +0000

    hotproc - support disabling via pmstore
    
    Support: pmstore hotproc.control.config ""
    to disable hotproc.
    
    Also, some comments and other cleanups

commit 53d34c3d7102043b66dd337a8a8fe89cd55b3518
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Thu Apr 23 18:34:00 2015 -0400

    pmwebd: add -I option for opening directories-as-archives for graphite
    
    This facility allows pmwebd to present to graphite-api clients such as
    the graphite and grafana webapps a more compact metric-name for the
    canonical sort of pmlogger directory layout, wherein each directory
    that contains archives are all from the same host.  The moment
    pmNewContext (PM_CONTEXT_ARCHIVE, "/path/to/directory") facility
    comes online, this option will let pmwebd exploit it.
    
    The effect will be to go from having a gajillion:
    [...]
    
pmmgr-2F-easy-2E-elastic-2E-org-2F-archive-2D-20150131-2E-110904-2E-meta.kernel.all.nprocs
    
pmmgr-2F-easy-2E-elastic-2E-org-2F-archive-2D-20150131-2E-110904-2E-meta.kernel.all.nprocs
    
pmmgr-2F-easy-2E-elastic-2E-org-2F-archive-2D-20150131-2E-110904-2E-meta.kernel.all.nprocs
    
pmmgr-2F-easy-2E-elastic-2E-org-2F-archive-2D-20150201-2E-110705-2E-meta.kernel.all.nprocs
    [...]
    items to a single:
    pmmgr-2F-easy-2E-elastic-2E-org.kernel.all.nprocs
    
    Documentation is included.  Hand-QA'd via gdb (to check that
    pmNewContext was being properly called on directories too).  The code
    is harmless to current libpcp users, even if the non-default -I flag
    were turned on; updated QA asserts this.  (qa/661.out may vary once
    the new pmNewContext facility comes online.)

commit a0039e8dbd2f6ed6ba3964c06a270fec05fd084b
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Tue Apr 21 21:16:01 2015 -0400

    pmwebd graphite-png rendering: tweak graphics
    
    Make the rendered legend-text normal rather than too-wide,
    and reduce the maximum fraction of the legend (50% to 40%
    of the vertical space).  It looks a little nicer in the
    grafana default-png.json dashboard.

commit 738ccc07e942d295ec516814e7b52f9c910555d8
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 d6ce75729a11a445f1a56091c604a5ca4eee7f41
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 fc0ceb354723195f9f0cf0cc970449ad5a189845
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 d7a4de3009c2958ff2dfb74ad0ce4757d0a8dec2
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 6b2eb46b3eba9dacba86009bfc4ccebd198e7b79
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>
  • pcp updates: webd, hotproc, docs, Nathan Scott <=