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