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.
|