pcp
[Top] [All Lists]

pcp updates: kenj+brolley+nathans merges

To: pcp developers <pcp@xxxxxxxxxxx>
Subject: pcp updates: kenj+brolley+nathans merges
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Tue, 16 Aug 2016 04:00:48 -0400 (EDT)
Delivered-to: pcp@xxxxxxxxxxx
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: oz/kngiHOM8v0C8rOkQ61v5PitQ5hg==
Thread-topic: pcp updates: kenj+brolley+nathans merges
Changes committed to git://git.pcp.io/pcp.git master

Ken McDonell (11):
      qa/867: (new) more exercises for pmie with string valued metrics
      pmie: rework for string-valued metrics
      sample PMDA: make sample.bin modifiable via pmstore
      qa/867: add some more string-valued tests
      configure: re-instate libsystemd-journal.so as fallback
      qa/762.out: remade .out after metric sample.string.bin added
      src/pmdas/sample/GNUmakefile: install executable and DSO PMDA binaries
      sample PMDA: restore the values and instances for sample.bogus_bin
      qa/075: changes after sample.bin became modifiable
      qa/273,474&617: new .out after changes to sample PMDA help text
      pmie: fix problem with string-valued expressions on 32-bit platforms

Nathan Scott (2):
      libpcp_web: rework the simple http client library
      qa: ensure correct exit status propogation from httpfetch

Dave Brolley (1):
      pmchart(1): Change in data structures for chart data.


 configure                              |   90 +
 configure.ac                           |    8 
 debian/libpcp-web1-dev.install         |    4 
 man/man3/pmhttpnewclient.3             |   95 +
 man/man3/pmjsoninit.3                  |   10 
 qa/075                                 |   12 
 qa/075.out                             |   30 
 qa/273.out                             |   42 
 qa/474.out                             |   30 
 qa/617.out                             |   14 
 qa/762.out                             |    2 
 qa/867                                 |  166 ++
 qa/867.out                             |   21 
 qa/group                               |    2 
 qa/src/.gitignore                      |    1 
 qa/src/GNUlocaldefs                    |   10 
 qa/src/GNUmakefile                     |    8 
 qa/src/httpfetch.c                     |  136 +
 src/GNUmakefile                        |    1 
 src/include/pcp/GNUmakefile            |    3 
 src/include/pcp/impl.h                 |    3 
 src/include/pcp/pmhttp.h               |   44 
 src/include/pcp/pmjson.h               |    6 
 src/libpcp_http/GNUmakefile            |   27 
 src/libpcp_http/src/.gitignore         |    1 
 src/libpcp_http/src/GNUmakefile        |   32 
 src/libpcp_http/src/README             |   78 -
 src/libpcp_http/src/http_error_codes.c |   39 
 src/libpcp_http/src/http_error_codes.h |   43 
 src/libpcp_http/src/http_fetcher.c     |  887 ------------
 src/libpcp_http/src/http_fetcher.h     |  168 --
 src/libpcp_web/src/GNUmakefile         |    8 
 src/libpcp_web/src/exports             |   10 
 src/libpcp_web/src/http_client.c       |  757 ++++++++++
 src/libpcp_web/src/http_client.h       |   47 
 src/libpcp_web/src/http_parser.c       | 2437 +++++++++++++++++++++++++++++++++
 src/libpcp_web/src/http_parser.h       |  324 ++++
 src/libpcp_web/src/jsmn.c              |    1 
 src/libpcp_web/src/jsmn.h              |   17 
 src/libpcp_web/src/json_helpers.c      |    6 
 src/libpcp_web/src/private.h           |   44 
 src/pmchart/groupcontrol.cpp           |   22 
 src/pmchart/groupcontrol.h             |    4 
 src/pmchart/sampling.cpp               |   64 
 src/pmchart/sampling.h                 |    8 
 src/pmdas/apache/GNUmakefile           |    7 
 src/pmdas/apache/README                |    4 
 src/pmdas/apache/apache.c              |   54 
 src/pmdas/sample/help                  |   14 
 src/pmdas/sample/src/GNUmakefile       |    1 
 src/pmdas/sample/src/sample.c          |   55 
 src/pmdbg/pmdbg.c                      |    4 
 src/pmie/src/dstruct.c                 |   30 
 src/pmie/src/fetch.sk                  |   66 
 src/pmie/src/misc.sk                   |   38 
 src/pmie/src/show.c                    |    6 
 src/pmie/src/syntax.c                  |   20 
 57 files changed, 4536 insertions(+), 1525 deletions(-)


commit 27392b10add03498273960ea2d9374a87040cf45
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Aug 16 17:44:22 2016 +1000

    qa: ensure correct exit status propogation from httpfetch

commit a69a159e4c14e0379514c1a52beedb2f05e4e390
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Mon Aug 15 07:22:11 2016 +1000

    libpcp_web: rework the simple http client library
    
    This commit continues Lukas' earlier work with starting
    a library for common web functionality.  It refactors &
    extends the original libpcp_http (static-only) library
    used by pmdaapache into a documented and shared library
    that other PMDAs can use going forward.
    
    Beyond that, this also adds some new functionality -
    - unix domain socket support (esp. for pmdadocker);
    - switches to a modern http parser implementation, which
      is more general and performs better than the original;
    - prefer persistent connections whenever possible;
    - cater for both http 1.0 and 1.1 client requests; and
    - removals global state from the original implementation;

commit 498e4be639c0069119501963bbf61e095ed52386
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Tue Aug 16 17:18:15 2016 +1000

    pmie: fix problem with string-valued expressions on 32-bit platforms
    
    In a few (3) places I had left behind some code from an earlier
    iteration of the changes where I was doing ponter arithmetic in
    (double *) instead of (char **) ... works by accident on most 64-bit
    platforms, but hits the wall on most 32-bit platforms.

commit 14f72469bc10908275d335d6c15437695d90f668
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Tue Aug 16 08:14:52 2016 +1000

    qa/273,474&617: new .out after changes to sample PMDA help text
    
    More fallout from the sample.bin becomes modifiable change.

commit cc870954d0fe10a14993753c6321206dec345a9d
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Tue Aug 16 08:13:22 2016 +1000

    qa/075: changes after sample.bin became modifiable
    
    Different expected results from pmstore, and (most importantly)
    need to restore sample.bin at the end of the test to avoid cascaded
    failures later.

commit 75b6f5acae4580a1bdb3837cc99f62365e4a38c8
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Tue Aug 16 07:02:32 2016 +1000

    sample PMDA: restore the values and instances for sample.bogus_bin
    
    Got broken when I changed sample.bin to be modifiable via pmstore
    and this was causing qa/058 failures.

commit 775bfe277426d801208717958ddf59e0501511ca
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Tue Aug 16 06:59:07 2016 +1000

    src/pmdas/sample/GNUmakefile: install executable and DSO PMDA binaries
    
    The sample PMDA is designed to be built from source, but if the source
    changes we and we re-install the package, then we may end up with
    installed binaries that do not match the source ... and this can cause
    QA failures.
    
    Not sure why these were omitted from the install target, other than
    possible to force checking that the PMDA can be rebuilt from the
    package installed source, but that seems a stretch.

commit cbd9ed953f50b821a96bae4de91e899537ee6d6f
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Mon Aug 15 21:47:39 2016 +1000

    qa/762.out: remade .out after metric sample.string.bin added

commit 2fed1920bf2ad519409899e4965c36ef6d355516
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Mon Aug 15 17:02:23 2016 +1000

    configure: re-instate libsystemd-journal.so as fallback
    
    For some older distros libsystemd.so is not available
    (e.g. openSUSE 12.2), so the change commit 25d9bd6 means
    we've gone from build the pcp-pmda-systemd rpm to not
    building this rpm, which means the upgrade will fail.
    
    This change maintains libsystemd.so as the preferred library
    to check, but if that fails allows libsystemd-journal.so as
    an alternative.

commit 0eb7db8855ba5702a1597bb7d676591adb2d7cc6
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Aug 14 20:29:58 2016 +1000

    qa/867: add some more string-valued tests

commit 5245352185b5bdd840ddec62335e2762f2ca6487
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Aug 14 20:26:35 2016 +1000

    sample PMDA: make sample.bin modifiable via pmstore
    
    Needed for QA of some recent pmie changes.  There are lots of
    metrics that share the values behind sample.bin, so modifying
    sample.bin["some instance"] changes the values for other metrics
    as well, and in particular sample.string.bin["some instance"].

commit 81cb83e997458a705c004a65e9b4c60f8e1a21b5
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Aug 14 11:31:15 2016 +1000

    pmie: rework for string-valued metrics
    
    1. fix problem with metric @N
    2. as a result of 1. had to change from ring buffer pointers into
       the pmResult, to ring buffer pointers to strdup()'d strings
       (pmResults were being free'd before the expression evaluation
       had finished with the values)
    3. simplify and clarify some of the earlier code

commit be2b3f3f26655510a7013ab8d76a114f870dbb03
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Aug 14 11:29:30 2016 +1000

    qa/867: (new) more exercises for pmie with string valued metrics

commit 9bd446832035900281457b89ad2b5b2caddff8f6
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date:   Thu Aug 11 14:30:36 2016 -0400

    pmchart(1): Change in data structures for chart data.
    
    QwtPlotCurve::setRawSamples is deprecated and we needed to
    switch to another method for setting the plot data. This suggested
    switching the plot data from array of double to a vector of something.
    
    The initial idea was to switch the data to QVector<double> and to use
    QwtPlotCurve::setSamples( const QVector<double> &xData,
    const QVector<double> &yData ). However it looks like this
    method is also on the way out. The final implementation keeps
    the data as QVector<double> and constructs a QVector<QPointF>
    so that QwtPlotCurve::setSamples( const QVector<QPointF> &samples )
    can be used.

<Prev in Thread] Current Thread [Next in Thread>
  • pcp updates: kenj+brolley+nathans merges, Nathan Scott <=