Note that mgoodwin's pmlogger changes were committed and then reverted,
because I have a new re-worked patch almost ready for this (in final
testing).
Changes committed to git://pcp.io/pcp master
Frank Ch. Eigler (4):
pcp2graphite qa/667: make more deterministic
pcp2graphite improvements: archive mode, reused connections, python3, etc.
pcp2graphite improvements: document new -a/-O/-T/-s options
pcp2graphite qa/667: test new archive feature
Mark Goodwin (3):
pmlogger: detect stale /var/run/pcp/pmlogger.primary.socket hard links
pmdalinux - add network.softnet metrics from /proc/net/softnet_stat.
Revert "pmlogger: detect stale /var/run/pcp/pmlogger.primary.socket hard
links"
Nathan Scott (3):
build: update gitignore file for pmclient builds
qa: annotate some Linux-specific tests as just that
pmdalinux: update softnet counters error handling, add qa
Ken McDonell (2):
qa/061: track pmlogger changes in diagnostic messages to pmlogger.log
qa/660: filter out some more curl "noise" that is not present for all
platforms
man/man1/pcp2graphite.1 | 32 +++++++-
qa/061.out | 48 ++++++-------
qa/1024 | 2
qa/1030 | 64 +++++++++++++++++
qa/1030.out | 67 ++++++++++++++++++
qa/660 | 2
qa/660.out.4 | 3
qa/660.out.46 | 3
qa/667 | 45 ++++++++++--
qa/667.out | 120 +++++++++++++++++++++++++++++++++
qa/885 | 2
qa/group | 1
src/pcp2graphite/pcp2graphite.py | 134 +++++++++++++++++++++++--------------
src/pmclient/.gitignore | 1
src/pmdas/linux/GNUmakefile | 4 -
src/pmdas/linux/clusters.h | 1
src/pmdas/linux/help | 9 ++
src/pmdas/linux/pmda.c | 90 +++++++++++++++++++++++-
src/pmdas/linux/proc_net_softnet.c | 69 +++++++++++++++++--
src/pmdas/linux/proc_net_softnet.h | 45 +++++++++++-
src/pmdas/linux/root_linux | 10 ++
src/pmlogger/src/ports.c | 128 +++++++++++++++++------------------
22 files changed, 711 insertions(+), 169 deletions(-)
Details ...
commit f0fa7faef84c88843b4de6eb02c8dc551e05fa9d
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Tue Jul 28 15:04:50 2015 +1000
qa/660: filter out some more curl "noise" that is not present for all
platforms
commit 965ba2469423a594bf1ba2aa643359fd6bb94ef3
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Tue Jul 28 14:10:35 2015 +1000
pmdalinux: update softnet counters error handling, add qa
Add test qa/1030 to exercise various forms of proc/net/softnet_stat
being handled by pmdalinux. Also ensures that we return the usual
code (PM_ERR_APPVERSION) for unsupported data instead of zero.
commit 9306b9e3f532f358dcb3e6ab9e93557f9350573d
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Tue Jul 28 14:06:09 2015 +1000
qa: annotate some Linux-specific tests as just that
commit 886ae6d55e5894bdfa426b307a9089f09b8338d3
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Tue Jul 28 13:20:00 2015 +1000
Revert "pmlogger: detect stale /var/run/pcp/pmlogger.primary.socket hard
links"
This reverts commit fd9c4819a699064c529f46f7ff9ebfdec51510f4.
Going to start on this one again, using symlinks rather than
hardlinks to simplify the code a lot. New commit pending ..
commit 91cca6373625a28524cc57908deb1f9949dc11c1
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Tue Jul 28 13:06:30 2015 +1000
build: update gitignore file for pmclient builds
commit 31400fc090ed2d1f73a8d80587cb68220a3807fd
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Tue Jul 28 11:49:42 2015 +1000
qa/061: track pmlogger changes in diagnostic messages to pmlogger.log
commit b4633e2f3792caa359269144cd671d604ff0ec89
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Tue Jul 28 11:16:40 2015 +1000
pmdalinux - add network.softnet metrics from /proc/net/softnet_stat.
/proc/net/softnet_stat exports per-CPU statistics of various interesting
metrics related to congestion in the Linux network stack. See the help
text for details. This commit adds support for these metrics summed over
all CPUs as network.softnet.*
In the future we may extend this to also export the per-cpu metrics as
network.softnet.percpu.* over the CPU instance domain - that's future work.
modified: src/pmdas/linux/GNUmakefile
modified: src/pmdas/linux/clusters.h
modified: src/pmdas/linux/help
modified: src/pmdas/linux/pmda.c
new file: src/pmdas/linux/proc_net_softnet.c
new file: src/pmdas/linux/proc_net_softnet.h
modified: src/pmdas/linux/root_linux
commit 9b363d88a744c925860ec2e26ac2e593d804e4d4
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date: Thu Jul 16 22:18:48 2015 -0400
pcp2graphite qa/667: test new archive feature
Added subtests 4 & 5, slightly robustified others.
commit 7d428105a9d70d24a69a466724fc7c39f4e5dfce
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date: Thu Jul 16 22:18:20 2015 -0400
pcp2graphite improvements: document new -a/-O/-T/-s options
commit 59f5abada48370a78fe492c32a6d46d77b6392af
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date: Thu Jul 16 22:10:47 2015 -0400
pcp2graphite improvements: archive mode, reused connections, python3, etc.
RHBZ1242622: support archive relay mode by addition of -a,
-O, -T, and -s options. To make this performant, reuse
a long-lived tcp socket to the carbon-cache server rather
than drop every message. (It turns out that droppage was
not necessary for live mode either.)
Improve diagnostics by intercepting any -Dfoo option to set
an internal self.debug flag. -D0 is especially handy, since
it leaves the libpcp pmDebug flag at zero.
RHBZ1243123: python3 compatibility corrected by dropping the
.write(... flush=true).
python3 actually function tested against live carbon-cache (rather
than pcpqa socat stand-in) to confirm actual end-to-end transmission.
It was necessary to force a downgrade to the pickling format to avoid
the possibility of a python2 carbon-cache failing to parse a python3
pickle.
commit 732de928d2fde25e1db227a5521cfc0172d83d5f
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date: Thu Jul 16 21:07:54 2015 -0400
pcp2graphite qa/667: make more deterministic
With socat configured to fork child processes, and maintaining plain
stdout redirection to a file, it's possible for the files to be
written-to concurrently and thus to lose lines. We switch to >>
append-mode, which precludes that accident.
commit fd9c4819a699064c529f46f7ff9ebfdec51510f4
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Fri Jul 10 17:23:30 2015 +1000
pmlogger: detect stale /var/run/pcp/pmlogger.primary.socket hard links
pmlogger.primary.socket is a hard link to the pmlogger control socket,
which has the PID of the running primary logger in it's filename.
pmlogger refuses to start if the hard link exists, even if that process
is no longer running.
This patch finds the hard link and removes it if the process is no longer
running (i.e. stale), so the primary pmlogger can still start and create
a new link. This was particularly problematic in the pcp-pmlogger container,
where such stale links abound due to the extreme prejudice that docker
uses when killing containers. If the hardlink references an actual running
primary pmlogger process, then the link is not removed and the expected
behaviour prevails. Additional QA tests for this are pending.
modified: src/pmlogger/src/ports.c
|