pcp
[Top] [All Lists]

pcp updates: kenj merge

To: pcp <pcp@xxxxxxxxxxx>
Subject: pcp updates: kenj merge
From: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Tue, 28 Apr 2015 18:25:40 +1000
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
Merged Ken's recent changes - quite a haul! My only review comment
would be that perhaps libpcp_fault could be shipped in the pcp-testsuite
package (I had to jump through some hoops to check qa/770 was being run
and passing - most qa environments would probably just _notrun it?).

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

Ken McDonell (17):
      qa/787: oops ... remove debugging crutch
      qa/archives: add missing dynmetric archive
      pmdumplog: scratch an itch cmdline arg foo != foo.0 etc
      qa/995: renumber to 774 to avoid collision
      rpm pmda: check return status from pthread_create()
      qa/new: extend range of QA test numbers
      qa/1091: (new) test changes to avoid pmcpp where possible
      qa/464&509: remake .out after libpcp pmLoadNameSpace change
      libpcp: avoid pmcpp when loading PMNS if possible
      man pages: pmLookupNameSpace(3), pmLookupASCIINameSpace(3) and PMNS(5)
      pmnscomp: remove code ... no longer used
      qa: fallout from pmLoadNameSpace() changes
      libpcp/pmns.c: final version of the pmLoadNameSpace() changes
      assorted: knock-on changes from pmLoadNameSpace() changes
      libpcp/p_profile.c: add fault injection points
      qa/770: (new) use libpcp_fault to check __pmDecodeProfile mem leaks
      libpcp_fault/src/GNUmakefile: update to match libpcp makefile changes

 man/man3/pmloadasciinamespace.3  |   44 ++
 man/man3/pmloadnamespace.3       |   21 +
 man/man5/pmns.5                  |   12
 qa/1091                          |   73 ++++
 qa/1091.out                      |   61 +++
 qa/235.out                       |    2
 qa/245.out                       |    4
 qa/273.out                       |    1
 qa/464.out                       |    4
 qa/509.out                       |    4
 qa/770                           |   53 +++
 qa/770.out                       |   51 +++
 qa/774                           |   51 +++
 qa/774.out                       |  239 +++++++++++++++
 qa/787                           |    2
 qa/995                           |  102 +++---
 qa/995.out                       |  478 +++++++++++++++---------------
 qa/archives/dynmetric.0          |binary
 qa/archives/dynmetric.index      |binary
 qa/archives/dynmetric.meta       |binary
 qa/group                         |    5
 qa/new                           |    2
 qa/src/779246.c                  |    2
 qa/src/archinst.c                |    2
 qa/src/chk_memleak.c             |    2
 qa/src/chk_metric_types.c        |    2
 qa/src/chkconnect.c              |    4
 qa/src/chkctx2.c                 |    2
 qa/src/chknumval.c               |    4
 qa/src/chktrim.c                 |    2
 qa/src/churnctx.c                |    2
 qa/src/context_test.c            |    2
 qa/src/defctx.c                  |    2
 qa/src/eofarch.c                 |    2
 qa/src/eol.c                     |    2
 qa/src/exercise.c                |    6
 qa/src/exertz.c                  |    2
 qa/src/fetchpdu.c                |    2
 qa/src/fetchrate.c               |    2
 qa/src/grind_ctx.c               |    2
 qa/src/hp-mib.c                  |    2
 qa/src/indom.c                   |    2
 qa/src/interp0.c                 |    2
 qa/src/interp1.c                 |    2
 qa/src/interp2.c                 |    2
 qa/src/interp3.c                 |    2
 qa/src/interp4.c                 |    2
 qa/src/interp_bug.c              |    2
 qa/src/interp_bug2.c             |    2
 qa/src/ipc.c                     |    2
 qa/src/logcontrol.c              |    4
 qa/src/lookupnametest.c          |    2
 qa/src/multifetch.c              |    2
 qa/src/multithread3.c            |   12
 qa/src/nullinst.c                |    2
 qa/src/pcp_lite_crash.c          |    2
 qa/src/pducheck.c                |  479 ++++++++++++++++++------------
 qa/src/permfetch.c               |    2
 qa/src/pmnsunload.c              |    2
 qa/src/pmsocks_objstyle.c        |    2
 qa/src/proc_test.c               |    2
 qa/src/store.c                   |    2
 qa/src/storepast.c               |    2
 qa/src/storepdu.c                |    2
 qa/src/template.c                |    2
 qa/src/torture_api.c             |    2
 qa/src/torture_indom.c           |    2
 qa/src/torture_pmns.c            |    2
 qa/src/xarch.c                   |    2
 qa/src/xlog.c                    |    2
 src/dbpmda/src/dbpmda.c          |   31 +
 src/libpcp/src/check-statics     |    1
 src/libpcp/src/p_profile.c       |   16 -
 src/libpcp/src/pmns.c            |  157 ++++++---
 src/libpcp_fault/src/GNUmakefile |   28 -
 src/newhelp/chkhelp.c            |    4
 src/newhelp/newhelp.c            |    4
 src/pmdas/rpm/rpm.c              |   10
 src/pmdas/solaris/solaris.c      |    9
 src/pmdumplog/pmdumplog.c        |    7
 src/pmlogger/src/pmlogger.c      |    2
 src/pmns/pmnsdel.c               |    4
 src/pmns/pmnsmerge.c             |    8
 src/pmnscomp/.gitignore          |    1
 src/pmnscomp/GNUmakefile         |   31 -
 src/pmnscomp/pmnscomp.c          |  621 ---------------------------------------
 86 files changed, 1436 insertions(+), 1300 deletions(-)

Details ...

commit 1d3c29e726e35bc2543e2b0721dcfca378f36703
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Tue Apr 28 10:59:07 2015 +1000

    libpcp_fault/src/GNUmakefile: update to match libpcp makefile changes

commit 3d8e6a61de2771d457734337338d4c3c558d6903
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Tue Apr 28 08:08:13 2015 +1000

    qa/770: (new) use libpcp_fault to check __pmDecodeProfile mem leaks

    Shows http://oss.sgi.com/bugzilla/show_bug.cgi?id=871 is indeed
    fixed.

    Needed to rework the error handling in qa/src/pducheck.c so it does
    not generate valgrind errors in the presence of unexpected failures.

commit cc3cec55a57094e152edb927aceae9357e4ce47a
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Tue Apr 28 08:06:45 2015 +1000

    libpcp/p_profile.c: add fault injection points

    Part of verification (with qa/770) that the issues raised
    in http://oss.sgi.com/bugzilla/show_bug.cgi?id=871
    have been fixed.

commit e3c0fc53d187cba6a41b95a8f20d8e425e129a60
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Apr 26 17:09:30 2015 +1000

    assorted: knock-on changes from pmLoadNameSpace() changes

    There are a few PCP apps that need to process PMNS files that
    may have embedded C-style comments, preprocessor directives
    or macros.

    Specifically:
    - pmnsdel and pmnsmerge (always needed)
    - newhelp and chkhelp (always needed)
    - dbpmda (rarely used)
    - pmlogger (rarely used)
    - solaris PMDA (go figure!)

commit 3c772a074ae54685bb6e544184d5528e7d8ab9bd
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Apr 26 17:05:08 2015 +1000

    libpcp/pmns.c: final version of the pmLoadNameSpace() changes

    Removed some bogus code from the preliminary version to expose
    the real logic which is:
    - pmLoadNameSpace() - never use pmcpp
    - pmLoadASCIINameSpace() - if filename is PM_NS_DEFAULT don't use
      pmcpp, otherwise use pmcpp
    This avoids pmcpp for most common uses where the default PMNS is,
    loaded, and this includes all PM_CONTEXT_LOCAL contexts.

commit 21fae5e48b7a074e91a768148872f26ac4b0cd42
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Apr 26 17:01:27 2015 +1000

    qa: fallout from pmLoadNameSpace() changes

    Lots of source code changes here as many QA test applications load
    a customized PMNS as part of their testing.  Basically need to
    replace pmLoadNameSpace(...) calls with pmLoadASCIINameSpace(..., 1)
    calls.

    Also a few .out changes as a consequence of not calling any of the
    PMNS load namespace routines when we don't need to.

commit 486035548e27048997c08cfbf4846fc044860181
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Apr 26 14:47:43 2015 +1000

    pmnscomp: remove code ... no longer used

commit 988557e23e12bb0ba6e371c58923672535d38e94
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Apr 26 14:09:53 2015 +1000

    man pages: pmLookupNameSpace(3), pmLookupASCIINameSpace(3) and PMNS(5)

    Updates to reflect new logic that avoids the use of pmcpp(1) in all
    cases except for pmLookupASCIINameSpace() when the filename argument
    is something other than PM_NS_DEFAULT (NULL).

commit a8e97900414e26bd729c2677893976fea38ee9c0
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Apr 26 08:01:29 2015 +1000

    libpcp: avoid pmcpp when loading PMNS if possible

    When using pmLoadNameSpace() or pmLoadASCIINameSpace(PM_NS_DEFAULT)
    or PM_CONTEXT_LOCAL we don't need pmcpp ... the PMMS contains no
    cpp-style #if or #include directives and no cpp macros.

    In these cases we use fopen() instead of the fork/exec/pipe
    arrangment to pre-process the PMNS file with pmcpp.

    The preprocessor is still used with pmLoadASCIINameSpace() and
    any PMNS other than PM_NS_DEFAULT, so all of the PMNS updates
    via the PMDA Install and Remove scripts still work.

commit 00d29e91b2c7ffe56134d546118919893e5f00a7
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Apr 26 07:59:30 2015 +1000

    qa/464&509: remake .out after libpcp pmLoadNameSpace change

commit 52a6807e045ad5d8c923392cae3bfecb9572b4c4
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Apr 26 07:58:22 2015 +1000

    qa/1091: (new) test changes to avoid pmcpp where possible

    libpcp changes for pmLoadNameSpace (et al) coming.

commit bcf854ff9e7c46f940cec5fa8371ec4e1a0fd146
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sun Apr 26 07:57:05 2015 +1000

    qa/new: extend range of QA test numbers

    We're starting to get collisions, so up the max from 999 to 1099.

commit f2cee38477f3f77be9d5e9e9b3da6540a62a67cc
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sat Apr 25 07:35:45 2015 +1000

    rpm pmda: check return status from pthread_create()

    Closes https://github.com/performancecopilot/pcp/issues/10

commit c427aafdd5ab1439ae622fb002f03087edd94da0
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Sat Apr 25 07:14:05 2015 +1000

    qa/995: renumber to 774 to avoid collision

commit 6603f7663091253b70acc719cb7a21f6ebaf2cec
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Fri Apr 24 20:14:21 2015 +1000

    pmdumplog: scratch an itch cmdline arg foo != foo.0 etc

    Fix botch in filename handling ... -t produced bogus
        Warning: file missing or compressed for log volume 0
    when command line arg was an archive filename (.0, .index, .meta,
    etc) rather than a basename for the archive.

    qa/995 proves the point.

commit 693402b4f0715ed81e35f312f829bd8adfbed765
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Fri Apr 24 20:12:15 2015 +1000

    qa/archives: add missing dynmetric archive

commit a735f6ee7b41f49984b06572eaf082819f2f056b
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Fri Apr 24 19:59:21 2015 +1000

    qa/787: oops ... remove debugging crutch

<Prev in Thread] Current Thread [Next in Thread>