pcp updates: pmdadocker

"Lukas Berk" <[email protected]> Mon, 16 Jan 2017 20:15:07 -0500
Newsgroups gmane.comp.sysutils.pcp
Message-ID <[email protected]>
Hi,

Changes committed to git://git.pcp.io/pcp/pcp.git master

Lukas Berk (5):
      pmdadocker: metrics via docker's remote api
      Integrate various feedback to pmdadocker
      pmdadocker - rework json interface for callback approach
      Restore inital json interfaces
      Add pmdadocker manpage

Nathan Scott (4):
      libpcp_web: JSON API coding consistency, small improvements and fixes
      libpcp_web: correct the json bytes offset/pointer calculation
      pmdadocker: final round of cleanup for now, minor fixes.
      qa: update filters for pmdadocker, additional net interfaces

 debian/libpcp-web1-dev.install    |    3 
 man/man3/pmjsonget.3              |  154 +++
 man/man3/pmjsoninit.3             |  166 ---
 qa/581                            |    1 
 qa/924                            |   45 +
 qa/924.out                        |   29 
 qa/common.filter                  |    1 
 qa/group                          |    2 
 qa/src/json_test.c                |   37 
 src/include/pcp/pmjson.h          |   31 
 src/libpcp_web/src/exports        |   15 
 src/libpcp_web/src/http_client.c  |   33 
 src/libpcp_web/src/http_parser.h  |    3 
 src/libpcp_web/src/json_helpers.c |  469 +++++------
 src/libpcp_web/src/private.h      |    8 
 src/pmdas/GNUmakefile             |    2 
 src/pmdas/docker/.gitignore       |    2 
 src/pmdas/docker/GNUmakefile      |   67 +
 src/pmdas/docker/Install          |   27 
 src/pmdas/docker/Remove           |   44 -
 src/pmdas/docker/docker.c         | 1610 ++++++++++++++++++++++++++++++--------
 src/pmdas/docker/domain.h         |    4 
 src/pmdas/docker/help             |   37 
 src/pmdas/docker/pmdadocker.1     |  154 +++
 src/pmdas/docker/pmns             |  111 ++
 src/pmdas/docker/root             |    9 
 src/pmdas/root/docker.c           |   85 +-
 src/pmdas/root/root.h             |   10 
 src/pmns/stdpmid.pcp              |    1 
 29 files changed, 2348 insertions(+), 812 deletions(-)

Details ...

commit ae5564fb50a21e6bb6b13a5179263202416844d5
Author: Lukas Berk <[email protected]>
Date:   Mon Jan 16 15:57:20 2017 -0500

    Add pmdadocker manpage

commit e95dfde0fc9c4100b61ed81a2a658c478b72ea02
Author: Nathan Scott <[email protected]>
Date:   Tue Jan 17 11:22:56 2017 +1100

    qa: update filters for pmdadocker, additional net interfaces

commit df491530106be9788434d767c5be2f47bc353af4
Author: Nathan Scott <[email protected]>
Date:   Tue Jan 17 11:04:28 2017 +1100

    pmdadocker: final round of cleanup for now, minor fixes.
    
    Small edge case fix - incl. handling the case of no containers
    running.  Also go back to the previous strdup usage on refresh
    thread, earlier change there was not correct and crashes.

commit 5aa5798926712a839fe6de204278a97ecc5af8b5
Author: Nathan Scott <[email protected]>
Date:   Tue Jan 17 07:36:07 2017 +1100

    libpcp_web: correct the json bytes offset/pointer calculation
    
    Ensure the correct buffer offset is used when copying data.

commit 94f0c9fa2c7271bf8c8d517ecc119ed2604da210
Author: Nathan Scott <[email protected]>
Date:   Mon Jan 16 16:59:34 2017 +1100

    libpcp_web: JSON API coding consistency, small improvements and fixes
    
    Mainly work on the iterable routine to get the callback to match the
    simpler semantics of read(2) as originally intended.  Rename routine
    for the long-term, as the former was too much of a mouthful (my poor
    naming choice earlier).  Update and use the typedef that was earlier
    added to pmjson.h for callback function.
    
    Fix compiler warning - json_helpers.c:376:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         int fd = (int)extra;
    
    Fix memleak of buffers in several locations.  Numerous cleanups in
    terms of using static routines, switching pmdaroot over to pmjsonGet
    use and use fread since its using that sort of file I/O not fds, and
    so on.  Make variable names shorter sometimes for better code layout
    and consistency with rest of PCP, without losing clarity I hope.
    
    Fixed typo in the libpcp_web exports file.  Update the pmjson(3) man
    page as it was out of date in some places before starting tidying,
    but also add in the new API tweaks there.

commit 0c9e04600d9daac00a600db9026e56bb3954e430
Author: Lukas Berk <[email protected]>
Date:   Fri Jan 6 11:43:19 2017 -0500

    Restore inital json interfaces
    
    we can't just drop the inital interfaces for pmjsonInit and
    pmjsonInitIndom
    
    Instead, we'll create a default compat callback and have them both call
    pmjsonInitIterable immediately, which will do the heavy lifting.

commit 64a6ee173f6d0dc1978bb1fedbcb22bb8871e6c2
Author: Lukas Berk <[email protected]>
Date:   Thu Jan 5 15:48:10 2017 -0500

    pmdadocker - rework json interface for callback approach
    
    pmjsoninit.3 - update documentation
    qa/924{,.out} - update testsuite with helgrind tool
    json_test.c - update testcase with callback
    exports - remove pmjsoninitchar interface
    json_helpers.c - remove pmjsoninitchar and change pmjsoninit{,indom} to
    use callback for filling in the buffer with the JSON docment
    docker/docker.c - update pmdadocker with feedback
    root/docker.c - update pmdaroot with new interface

commit 003867aeaa3826f1054d92125a007d7443969d51
Author: Lukas Berk <[email protected]>
Date:   Thu Dec 15 20:06:29 2016 -0500

    Integrate various feedback to pmdadocker

commit b72b6fe3e6971d11ff761f15e19abd225cf9c2ab
Author: Lukas Berk <[email protected]>
Date:   Mon Jul 25 17:11:18 2016 -0400

    pmdadocker: metrics via docker's remote api
    
    This is a multithreaded pmda.  One thread is in use for docker api
    queries, some of which can take an extended amount of time, and the
    other is used for responses from client tools
    
    Due to the http requests returning a string, libpcp_web had to be
    tweaked to include both a new pmjson function pmjsonInitChar as well
    as tweaking the http_fetching to enable changing the request to match
    the needs of the docker api
    
    A valgrind test has been included in the qa

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#14980): https://groups.io/g/pcp/message/14980
View All Messages In Topic (1): https://groups.io/g/pcp/topic/4193089
Mute This Topic: https://groups.io/mt/4193089?uid=174580
New Topic: https://groups.io/g/pcp/post
-=-=-
pcp mailing list
[email protected]
https://groups.io/g/pcp/messages
-=-=-
Change Your Subscription: https://groups.io/g/pcp/editsub?uid=174580
Group Home: https://groups.io/g/pcp
Contact Group Owner: [email protected]
Terms of Service: https://groups.io/static/tos
Unsubscribe: https://groups.io/g/pcp/leave/354243/563757577/xyzzy
-=-=-=-=-=-=-=-=-=-=-=-