pcp
[Top] [All Lists]

pcp updates: qa, long options, python fix

To: PCP Mailing List <pcp@xxxxxxxxxxx>
Subject: pcp updates: qa, long options, python fix
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Mon, 24 Mar 2014 23:43:51 -0400 (EDT)
Cc: Jonathan Lim <jlim@xxxxxxx>
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <437982085.5087507.1395718585298.JavaMail.zimbra@xxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: I4+tgk2/jVyKYNw4rLkw7IlveTTBRg==
Thread-topic: pcp updates: qa, long options, python fix
Changes committed to git://oss.sgi.com/pcp/pcp.git dev

 debian/libpcp-pmda3-dev.install          |    1 
 man/man3/pmdagetopt.3                    |  196 -------
 man/man3/pmdagetoptions.3                |  239 +++++++++
 man/man3/pmgetoptions.3                  |   21 
 qa/260                                   |   10 
 qa/702                                   |   20 
 qa/702.out                               |    2 
 qa/707                                   |   43 -
 qa/707.out                               |    1 
 qa/750                                   |    2 
 qa/GNUmakefile                           |    3 
 qa/common.python                         |   31 +
 qa/group                                 |    1 
 qa/src/GNUlocaldefs                      |    5 
 qa/src/pyapi.0                           |binary
 qa/src/pyapi.index                       |binary
 qa/src/pyapi.meta                        |binary
 qa/src/test_pcp.python                   |   11 
 src/dbpmda/src/dbpmda.c                  |   12 
 src/include/pcp/pmapi.h                  |    4 
 src/include/pcp/pmda.h                   |   74 ++
 src/libpcp/src/getopt.c                  |    6 
 src/libpcp_pmda/src/exports              |    5 
 src/libpcp_pmda/src/open.c               |  188 +++----
 src/newhelp/newhelp.c                    |   93 +--
 src/pmcd/src/pmcd.c                      |  182 +++----
 src/pmcd_wait/pmcd_wait.c                |  140 +----
 src/pmcpp/pmcpp.c                        |   31 -
 src/pmdas/trace/src/.gitignore           |    1 
 src/pmdas/trace/src/GNUmakefile          |   22 
 src/pmdate/pmdate.c                      |    2 
 src/pmdbg/pmdbg.c                        |   54 +-
 src/pmerr/pmerr.c                        |   13 
 src/pmhostname/pmhostname.c              |   55 --
 src/pmieconf/pmieconf.c                  |   70 +-
 src/pmimport/collectl2pcp/collectl2pcp.c |   71 +-
 src/pmlc/pmlc.c                          |  182 ++-----
 src/pmlc/pmlc.h                          |   17 
 src/pmmgr/pmmgr.cxx                      |   61 +-
 src/pmproxy/pmproxy.c                    |  172 +++---
 src/pmwebapi/main.c                      |  801 ++++++++++++++-----------------
 src/python/pcp/pmapi.py                  |    6 
 42 files changed, 1457 insertions(+), 1391 deletions(-)

commit cf186ecf5e296ccd19016ee9e6f0de647d4da1ec
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Mar 25 14:26:44 2014 +1100

    Fix test qa/750 for some host namings
    
    Improve filtering in test qa/750 - rpm appears to use
    the moral equivalent of "hostname -f" as build host name
    and not simply "hostname".  Adjust filter to handle both
    of these cases.

commit 088a563bdc007cc7da5f0947405e3ab2afa03a88
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Mar 25 14:24:25 2014 +1100

    Update trace PMDA makefile to use modern make macros

commit f00a8656ffa3371254435c21e4d7cef1a9f392b7
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Mar 25 14:23:50 2014 +1100

    Remove the qa/260 check for pmRegisterDerived in pmapi.h

commit 1d721ce1659aeb76ef3982033e5b1503584d5c15
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Mar 25 14:23:02 2014 +1100

    Fix test qa/707 by using a custom archive
    
    Test 707 was failing since it was recently cleft in
    two to separate out live and archive modes of test,
    exposing a testing bug where the latter could never
    fail.
    
    This commit now fixes test 707, via addition of a new
    archive (qa/src/pyapi) containing all of the metrics
    it is expecting (missing sample.bin in particular was
    the root cause of the earlier failure).

commit 70735f5c7582d6ce2dcb3924826f74a17bd84662
Author: Jonathan Lim <jlim@xxxxxxx>
Date:   Tue Mar 25 14:17:00 2014 +1100

    Fix the python pmGetArchiveEnd interface
    
    Incorrect pointer types were being used when declaring the
    ctypes pmGetArchiveEnd libpcp interface, and again later
    when building the on-stack (python) parameters to pass on
    into libpcp.

commit 18ac147ab0ba9505280337a9033b7cffc6fd1f25
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Mar 25 14:10:55 2014 +1100

    Introduce long option command line processing for PMDAs
    
    Using the same libpcp infrastructure exposed by pmGetOptions,
    this commit supplements the existing pmdaGetOpt interface with
    a new pmdaGetOptions routine.  The latter supports the use of
    long options in PMDAs.
    
    Through use of devious cunning, the old interface is implemented
    using the new (and hence both build on pmgetopt_r).  This will
    let us remove the POSIXLY_CORRECT environment variable setting
    that pmcd and dbpmda do, because pmGetOpt alone drives that flag
    (PM_OPTFLAG_POSIX) into the getopt code, whereas (new) users of
    the pmdatGetOptions interface can choose whether or not they'll
    need POSIX option handling.
    
    At this stage, I've left all of the PMDAs using the old interface
    to build some QA confidence in the backward-compat aspect.  Soon,
    however, PMDA long option assimilation will begin.

commit ec3a76579ad691b1b98467bcb6edcf5c4d19deb8
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Mon Mar 24 13:30:07 2014 +1100

    Split python PMAPI test into live and archive variants
    
    Looking to extend the python PMAPI test, I noticed that
    the archive component was already failing but that the
    test still passes.  This is because both live & archive
    modes send output into $seq.full, and both grep on "OK"
    in that output file to verify pass.
    
    So, if live mode passed, the test always passed.  Sadly,
    archive mode throws its toys^W^Wan exception part way
    through - the test should have been failing all along.
    
    Fix the test issue by splitting into two tests.  This
    makes it simpler, faster, workier, and debugging should
    be easier now.  Test 707 is still failing though - Stan
    will hopefully get to that shortly, else I will circle
    back, sneak up on it when its not looking, and fix it
    (the fix is to create an archive with all the metrics
    that the test needs, commit it and use it in 707).
    
    Also, added in a pmArchiveEnd check while I was there.

commit 3df7efc1f581638628320597a98504186ca32a57
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Sun Mar 23 20:03:50 2014 +1100

    Next round of additions of tool long options support
    
    Converted tools this time: newhelp, pmcd, pmcd_wait, pmcpp,
    pmdate, pmdbg, pmerr, pmhostname, pmieconf, collectl2pcp, pmlc,
    pmmgr, pmproxy, pmwebd.
    
    Found need for a couple more flags to pmGetOptions - pmieconf
    wants to add commands to usage, so a no-flush option is added.
    The tools were also not correctly reporting incorrect usage -
    bad option reporting was suppressed - reenable this, but allow
    for it to be disabled via flag.
    
    Some minor code cleanups to tools along the way; conformance
    to general pcp coding style in particular.
    
    Discovered pmcd and dbpmda still need to put POSIXLY_CORRECT
    in the environment for now.  A future libpcp_pmda conversion
    to pmgetopt_r will once and for all do away with this beast,
    however.

<Prev in Thread] Current Thread [Next in Thread>
  • pcp updates: qa, long options, python fix, Nathan Scott <=