pcp
[Top] [All Lists]

pcp updates: fche+kenj+nathans merges - qa, pmdapmcd, libpcp_pmda

To: PCP Development Team <pcp@xxxxxxxxxxx>
Subject: pcp updates: fche+kenj+nathans merges - qa, pmdapmcd, libpcp_pmda
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Wed, 7 Aug 2013 03:03:50 -0400 (EDT)
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <1621550678.12392408.1375858808600.JavaMail.root@xxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: XBjov82sNVtBYtQCt8r2uQl+KpDOtg==
Thread-topic: pcp updates: fche+kenj+nathans merges - qa, pmdapmcd, libpcp_pmda
Changes committed to git://oss.sgi.com/pcp/pcp.git dev

 man/man3/pmdainit.3             |   79 +++++++++++++++++-
 man/man3/pmspeclocalpmda.3      |    2 
 qa/031.out.darwin               |    1 
 qa/031.out.linux                |    1 
 qa/031.out.solaris              |    1 
 qa/274                          |    2 
 qa/274.out.1                    |    2 
 qa/274.out.2                    |    2 
 qa/503                          |    3 
 qa/574.out.darwin               |    1 
 qa/574.out.linux                |    1 
 qa/574.out.solaris              |    1 
 qa/876                          |   12 ++
 qa/common.filter                |    2 
 qa/getpmcdhosts                 |  109 ++-----------------------
 src/include/pcp/impl.h          |    1 
 src/include/pcp/pmda.h          |   29 ++++++
 src/libpcp/src/auxserver.c      |   21 ++---
 src/libpcp/src/check-statics    |    2 
 src/libpcp/src/secureserver.c   |   22 ++++-
 src/libpcp_pmda/src/callback.c  |  168 ++++++++++++++++++++--------------------
 src/libpcp_pmda/src/libdefs.h   |    1 
 src/libpcp_pmda/src/open.c      |  116 ++++++++++++++++++++++-----
 src/pcp/pcp.sh                  |   13 ++-
 src/pmdas/darwin/pmda.c         |    5 -
 src/pmdas/gfs2/dynamic.c        |    6 -
 src/pmdas/gfs2/pmda.c           |    2 
 src/pmdas/linux/dynamic.c       |    6 -
 src/pmdas/linux/pmda.c          |    1 
 src/pmdas/linux_proc/dynamic.c  |    6 -
 src/pmdas/linux_proc/pmda.c     |    1 
 src/pmdas/linux_xfs/pmda.c      |    1 
 src/pmdas/mmv/mmv.c             |    6 -
 src/pmdas/pmcd/help             |   22 ++---
 src/pmdas/pmcd/root_pmcd        |    4 
 src/pmdas/pmcd/src/pmcd.c       |   61 ++++++++++++--
 src/pmlogconf/tools/pcp-summary |    1 
 src/pmlogger/src/pmlogger.c     |   91 ++++++++++++---------
 38 files changed, 482 insertions(+), 323 deletions(-)

commit 0bb7112b7a76f15dd2f01f6044df6b38b23ecc1d
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Aug 7 16:57:24 2013 +1000

    Combat QA race conditions in loop device teardown

commit 74b8b8bd1823fa5dcccb0d37fecf5ab3597c3c5d
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Aug 7 16:44:19 2013 +1000

    Optional hash-based metric table lookups for PMDAs
    
    During recent coding, I really noticed the amount of work
    required in scanning metric tables during fetch callbacks
    for PMDAs with many hundreds of metrics (or more).  These
    PMDAs almost never use the direct mapping approach due to
    the PMID cluster/item scheme providing simple, attractive
    callback implementation mechanisms (cluster-based switches
    for data extraction during fetch, for example).
    
    For these large complex PMDAs, this commit provides a new
    alternative to linear metric table scans - a hash lookup.
    It is provided in a backwards compatible way, all existing
    PMDAs continue to work as-is, and PMDAs can opt-in to use
    this mechanism if its suitable for them.
    
    The Linux kernel, proc, XFS and MMV agents are updated to
    make use of this feature.  The Darwin kernel PMDA is also
    updated to explicitly request the direct mapping feature,
    so that it doesn't need to check anything by-hand after it
    calls pmdaInit.
    
    Documentation about the two new API routines is added into
    the pmdaInit(3) man page and this also describes tradeoffs
    being made by each metric table search strategy.

commit 627c6f8d6a77b44dcbe7eb644427f82b0615aeda
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Aug 7 14:10:12 2013 +1000

    Fix a minor typo on pmspeclocalpmda.3 man page

commit 7d6456570775a09a7ffdda11a85d683da8bdd957
Merge: a7c1a83 ba12882
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Aug 7 11:19:12 2013 +1000

    Merge branch 'dev' of git://oss.sgi.com/kenj/pcp into dev

commit a7c1a83a6a6bf9d877479c1cdd2cbd58b939097c
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Aug 7 11:18:57 2013 +1000

    Updates to pmdapmcd metrics after recent feature additions
    
    Deal with addition of a top-level pmcd.* metric name (hostname) in
    QA suite.  While we're here, remove the pmcd.license metric from the
    pmcd metric set, as its long since past its use-by-date.
    
    Realised we've overlooked a couple of pmcd.feature metrics which are
    now available (unix domain sockets, and enforcing-mode auth) - add
    these two metrics in since we're in that neck of the woods.  Fixed a
    compiler warning from the recently added pmcd.hostname metric code
    in pmdapmcd and further tighten up unknown PMID checking in there as
    well.
    
    Updated qa/getpmcdhosts script to remove references to pmbrand, IRIX
    and licensing in general - been a long time since those options were
    ever used, no current QA tests do.

commit ba128825f348aed20a37720e098dc78e575cae15
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Wed Aug 7 09:08:00 2013 +1000

    qa/503 - filter out rare .../log/NOTICES messages

commit 4650c91709ef02277bede9827d22c8f856fb1989
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Aug 7 09:03:48 2013 +1000

    Update the pcp(1) command to be able to report using pmcd.hostname
    
    The pmlogger and pcp commands are the only clients using the timezone
    metric from pmcd.  This commit updates the latter to match pmloggers
    use of pmcd.hostname as well (i.e. only if available - so recent pmcd
    only, else continues to fall back to pmhostname(1) output).
    
    Furthermore, the pcp(1) command was found to not be using the timezone
    from the log label (although hostname is extracted from there).  There
    appears to be no good reason for this, and on inspection it is usually
    reporting "unknown" for archive timezones, since pmcd.timezone is not
    usually logged (since its already in the archive label).  Fix this, by
    extracting the timezone along with the hostname from the archive label
    and then making use of that when reporting archive data.
    
    Finally, update the pcp command pmlogconf file as there was never need
    to be logging pmcd.timezone at all, we had it in the label all along.

commit f0c6c323f55de48c9abbde54432f4e53b9b54609
Merge: 893feb8 0680197
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Aug 7 08:31:14 2013 +1000

    Merge branch 'fche/dev' of ../pcpfans into dev

commit 068019711a07de015ecdf75364fc3c81931e5738
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Tue Jul 30 21:42:01 2013 -0400

    pmcd->pmlogger hostname passing: combine pmLookupName & pmFetch
    
    Under the theory that one call is better than two.

commit 3d2a5814ccedbfc2d53f56ccabfc0db61bde824d
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date:   Tue Jul 30 21:07:18 2013 -0400

    pmcd->pmlogger hostname passing
    
    pmlogger prefers to put a relatively unique hostname into the log
    header to identify the source of the data, but use of the PMAPI
    connection parameters is only a heuristic substitute, as is the
    cleverness involving mapping "localhost" to `gethostname`.  This
    becomes worse when pmlogger runs with -h local://, where the number of
    patterns to match to the heuristic gets silly.  It gets even worse if
    TCP port-forwarding is in use, where the connection hostname has
    nothing to do with the actual PMCD hostname.
    
    This patch adds a pmcd.hostname metric to the pmcd, which is queried
    by pmlogger just as pmcd.timezone.  If present, the pmlogger's
    heuristic logfile-header hostname will be replaced with the pmcd's
    self-reported one.

<Prev in Thread] Current Thread [Next in Thread>
  • pcp updates: fche+kenj+nathans merges - qa, pmdapmcd, libpcp_pmda, Nathan Scott <=