I've got some changes pending too (pmlogger ports v2, network.softnet)
but can't push them until tomorrow (our cat sat on my laptop would you
believe).
Changes committed to git://pcp.io/pcp master
Ken McDonell (9):
linux pmda: still trying to fix the conflicts from the last round of
merges
Makepks: fix test for "signing" packages in Debian builds
Makepkgs: debian package signing ... one more time
qa/087: you can't help good luck
pmcpp: major revamp
qa/group: assorted group changes
pmcpp: more changes
pmcpp: really ignore C-style comments for -s mode
pmcpp: speed and robustness enhancements
Nathan Scott (5):
rc scripts: use syslog over email for error notification
build: support libzfs APIs differences from solaris/illumos
libpcp: support derived metrics path in pmGetOptions
rc scripts: drop mirroring recent syslog writes to stderr
build: make solaris/illumos builds work without external tweaks
Lukas Berk (3):
Fix pmcollectl interrupt subsystem crash
Add a folio archive testcase for pmcollectl to ensure correct values
Break out append statements in pmcollectl into valid syntax
Makepkgs | 10
configure | 123 +++++++-
configure.ac | 65 +++-
man/man1/pmcpp.1 | 224 ++++++++++++---
man/man3/pmloadderivedconfig.3 | 41 ++
qa/075.out | 1
qa/087 | 10
qa/087.out | 30 +-
qa/225.out | 2
qa/344.out | 44 +-
qa/434.out | 1
qa/569.out | 2
qa/773.out | 6
qa/850 | 34 ++
qa/850.out | 74 ++++
qa/853 | 183 +++++++++++-
qa/853.out | 250 ++++++++++++++++
qa/965 | 34 ++
qa/965.out | 12
qa/archives/GNUmakefile | 2
qa/archives/YWhcCi.toium.0 |binary
qa/archives/YWhcCi.toium.config | 1
qa/archives/YWhcCi.toium.index |binary
qa/archives/YWhcCi.toium.meta |binary
qa/archives/collectl-qa | 11
qa/group | 9
src/include/pcp/config.h.in | 5
src/include/pcp/pmapi.h | 3
src/libpcp/src/derive.c | 84 +++--
src/libpcp/src/getopt.c | 15 +
src/pcp/collectl/pcp-collectl.py | 7
src/pmcd/rc_pmcd | 24 -
src/pmcpp/pmcpp.c | 564 ++++++++++++++++++++++++++++----------
src/pmdas/infiniband/ib.c | 3
src/pmdas/linux/namespaces.c | 8
src/pmdas/solaris/zpool_perdisk.c | 10
src/pmie/rc_pmie | 57 +--
src/pminfo/pminfo.c | 6
src/pmlogger/rc_pmlogger | 28 -
src/pmprobe/pmprobe.c | 1
src/pmval/pmval.c | 1
41 files changed, 1591 insertions(+), 394 deletions(-)
Details ...
commit d2f1f0c50fcf2e3adab0ad48fa9e90532ee0becc
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sat Jul 25 08:57:12 2015 +1000
pmcpp: speed and robustness enhancements
- dynamic allocation of input and output buffers and protection
against buffer overrun for arbitrary line lengths
- use memcpy() in preference to strcpy() where possible
(speed improvement)
- optimistic buffer processing that does not copy until a macro
substitution happens within a line (bigger speed improvement)
Measured a little below 10% reduction in CPU time with these changes.
Updated QA to match.
commit f493878e656a57df75cad88de4a543ba9c1418f2
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Fri Jul 24 16:16:11 2015 +1000
pmcpp: really ignore C-style comments for -s mode
commit aa43d60f5a99d1deb7945c3d7fea61f01347bfec
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Fri Jul 24 15:24:11 2015 +1000
pmcpp: more changes
- add #else support
- increase coverage in qa/853
commit 05611d6dde4f9456273e878c5abf05512cb9d517
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Fri Jul 24 15:22:26 2015 +1000
qa/group: assorted group changes
Add new pmcpp group, add tests 464, 464 and 853 to this group.
And qa/662: was missing from group file
commit 2c84e307149a6a770ebea3f2988bcca9500f67b5
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Fri Jul 24 11:12:59 2015 +1000
build: make solaris/illumos builds work without external tweaks
Extend the configure.ac script to verify the toolchain features
required to build pmmgr are present (not the case with non-gcc
compiler on Solaris). Fix a buglet in both the pmmgr and pmwebd
checks for a c++ compiler while there.
Secondly, for Solaris we must force use of bison and flex over
the default yacc and lex, else the build fails - handle this in
the Makepkgs script.
Finally, tweak the pmdaib source for compilation out-of-the-box
on Solaris (with the default compiler).
commit c54724b797851bf9f9a81691f2dc615000764c13
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Fri Jul 24 10:08:18 2015 +1000
pmcpp: major revamp
Add -s flag to support shell-like input where # is a comment
prefix and pmcpp changes from #... control lines to %... control
lines and generally emits fewer empty lines and on # lineno control
lines.
Add -r flag to restrict macro expansion to names that have additional
syntactic sugar: #name or #{name} (or if -s, then %name or %{name}).
Cleanup man page.
Add new qa/853 to give pmcpp a more thorough workout.
All of this is in preparation for always processing pmlogger config
files with pmcpp -rs to provide conditional, include file and macro
capabilities for pmlogger config files.
commit 24ad2b2fe6b60b26efeaa823fcad29612fb9db3a
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Thu Jul 23 16:37:35 2015 +1000
rc scripts: drop mirroring recent syslog writes to stderr
Plays havoc with QA (logger(1) prefixes with the username
too for some reason, so not fun filtering either) and for
many cases we're backgrounded and stderr is going nowhere
helpful anyway.
commit fe0ac62e1bae357d406a7e2a0ffbe6287ce6f451
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Thu Jul 23 15:45:46 2015 +1000
libpcp: support derived metrics path in pmGetOptions
Extend pmLoadDerivedConfig to match the PCP_DERIVED_CONFIG env
variable - with $PATH-like colon separator for multiple metric
definition files - and allow its use via macros.
pminfo got support via the pmLoadDerivedConfig extension, but
pmprobe and pmval have now been converted to make use of the
new pmGetOptions macro so that they too support the --derived
option now.
commit 25f353905b0453f3b84619d28c023fca872d6b05
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Thu Jul 23 11:27:49 2015 +1000
build: support libzfs APIs differences from solaris/illumos
Check for the known different zpool_vdev_name libzfs APIs,
and use the variant found in the build root. Should solve
a build issue reported by jeffpc recently.
commit c924929531a97aaf63ad4b892b9d674794319632
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Wed Jul 22 16:36:34 2015 +1000
qa/087: you can't help good luck
If the planets align just right, the lower bound for the number
of log reads is 30 (== the number of records in the src/interp
archive).
commit 903ac3fb6106736ae54e16b8d9ddb767c4ba08ff
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Wed Jul 22 15:52:48 2015 +1000
rc scripts: use syslog over email for error notification
After many requests from folks in production environments, we
now only send email in situations where explicitly requested,
prefering to log rc script errors to syslog instead.
Where the error messages are potentially bulky (pmie/pmlogger
cases) post to syslog with a pointer to a log file containing
the detail. Overwrite this logfile on subsequent errors such
that they do not grow indefinitely, but always contain detail
from the most recent failure for subsequent triage activity.
commit 28c5a3cec82d08bf34bc45ddf186e75b896cef8d
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Wed Jul 22 11:06:56 2015 +1000
Makepkgs: debian package signing ... one more time
Fix the inverted logic in the last commit ... signing
is off by default.
commit a739fe5b2a5845e49e07406fc38bc414d6cc6fc9
Author: Lukas Berk <lberk@xxxxxxxxxx>
Date: Mon Jul 20 19:37:12 2015 -0400
Break out append statements in pmcollectl into valid syntax
Previously attempting to create a folio archive file would error out
with the previous syntax. Changing to valid .append() usage.
commit e5b72872a98d1fcfa231c6bb63f50a46609d8998
Author: Lukas Berk <lberk@xxxxxxxxxx>
Date: Mon Jul 20 19:34:54 2015 -0400
Add a folio archive testcase for pmcollectl to ensure correct values
Run various pmcollectl subsystem commands on a provided archive.
Conflicts:
qa/archives/GNUmakefile
Fix overlap b/n Lukas' tree and my last changes.
commit f193d35b87fd536055b83108376277094179c5b4
Author: Lukas Berk <lberk@xxxxxxxxxx>
Date: Thu Jul 16 18:20:35 2015 -0400
Fix pmcollectl interrupt subsystem crash
Specifying pmcollectl -sJ resulted in a couple of errors in expected
types/attributes
commit a41e78acfd7e82c846614193d3e307fd1ac7bdc8
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Tue Jul 21 06:38:01 2015 +1000
Makepks: fix test for "signing" packages in Debian builds
Logic was not quite right ... need to set $DEB_SIGN_KEYID in
the environment, and then
Makepkgs --signed
commit cd51cc7b1b91c87b6c85d6de4576fed5fa8b6aa4
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Sat Jul 18 07:45:30 2015 +1000
linux pmda: still trying to fix the conflicts from the last round of merges
|