pmval: improve handling of shifting metric instances
[pcp.git] / CHANGELOG
blob90e0df019855cf1e9345b99df0fdaabc0e223c2f
1 pcp-3.11.8 (16 February 2016)
2     - Work in progress
4 pcp-3.11.7 (21 December 2016)
5     - docs: pmLookupText added to PMAPI calls for _metric web API
6     - build: fix qt4 builds once more, no widgets module there
7     - build: update parfait and uom-se bits for jdk-1.8 use
8     - build: couple of small Windows install improvements
9     - build: conditionally use setuptools python module
10     - libpcp_web: fix handling of 64-bit values on 32-bit platforms
11     - libpcp_web: improvements to error checking
12     - pmdabash: resolve some permissions issues preventing use
13     - pmdalinux: add metrics about IPC message queues
14     - pmdalinux: additional semaphore arrays metrics
15     - pmddalinux: buddyinfo and zoneinfo mem metric updates
16     - pmdalinux: add zoneinfo NUMA free mem stats
17     - pmdaxfs: use persistent dm and md device names for xfs.perdev
18     - pmchart: 'local:' is now the default source
19     - pmchart run-away mem leak replaying multi-archive when rewinding (RHBZ 1359975)
20     - pmchart: make metric details popup on double click event only
21     - pmdumptext: 'local:' is now the default source
22     - pminfo: allow reverse pmid name lookups, support indoms
23     - pmlogrewrite: add conditional type clause (TYPE IF oldtype -> newtype)
24     - pmview: changes to make pmview build with latest toolchains
25     - qa: lots of fixes and improvements
27 pcp-3.11.6 (11 November 2016)
28     - pmchart, pmtime, pmdumptext: enable use of Qt5 toolchain
29     - pmchart, pmtime: switch to Qwt 6.1 for charts, widgets
30     - pmchart: display data values interactively (table popup)
31     - pmchart: fix signal blocking for the Qwt picker events
32     - pmdalibvirt: add per-device metrics
33     - pmdalibvirt: add support for new perf metrics
34     - pmdalibvirt: add new balloon statistics
35     - pmdalinux: add NFSv4.2 parameters to nfs4.* metric instances
36     - pmdalinux: additional shared memory segment metrics
37     - pmdalinux: fix network.interface.speed values
38     - pmdalinux: correctly classify NBD devices and partitions
39     - pmdalinux: fix units, semantics for some network.tcp metrics
40     - pmdapmcd: add pmcd.sighups metric to assist signal detection
41     - pmdapostgresql: no active and recovery metrics in 8.x series
42     - pmda scripts: deprecate "forced_restart" from Install scripts
43     - collectl2pcp: detect if input data in collectls "plot" format
44     - pmlogger: fix SIGINT handling problem
45     - pmlogger: allow default primary pmlogger interval to be set
46     - pmlogconf: suppress $PCP_DERIVED_CONFIG processing
47     - pmlogrewrite: fix small error in temporal index
48     - pmrep: add support for specifying instances
49     - pmrep: improve metrics collection via extend_indom
50     - pmrep: fixes and other improvements to CSV output
51     - pmrep: add -X "label" flag for instance-per-line output mode
52     - pmwebd: fix HTTP time zones in Date:/Last-Modified: headers
53     - python api: correct type of fetchgroup instance ids
54     - libpcp: correct logic in __pmHasPMNSFileChanged()
55     - libpcp: allow -EINTR to be returned from pduread()
56     - libpcp: correct return code for derive metric help text
57     - libpcp: optimise DSO lookups for local context mode startup
58     - libpcp_json: fix JSON data type conversion
59     - scripts: correct tempfile handling used throughout (SElinux)
60     - zabbix-agent: support zabbix 3.2.x and later, transparently
61     - bashrc: defend against unexpected bash completion input
62     - build: annotate PCP_RUN_DIR as %ghost in rpm packages
63     - build: fix a handful of Windows build issues
64     - build: revamp buildbot config and Dockerfile based builds
65     - docs: switch list name from pcp@oss.sgi.com to pcp@groups.io
67 pcp-3.11.5 (26 September 2016)
68     - pmdalibvirt: statistics from guest and hypervisor machines
69     - dmcache: improved err handling when lvmcache not configured
70     - pmie: support expressions involving string-valued-metrics
71     - pmlogger: fix several logic errors in disconnect handling
72     - pcp-atop: fix SIGFPE when some kernel metrics unavailable
73     - python api: add errno attribute to pmErr class
74     - pmdaproc: fix double accounting in the proc.runq metrics
75     - pmlogconf: add set of default Vector webapp metrics
76     - libpcp_pmi: close archive in pmi_end, plugging an fd leak
77     - libpcp: improvements to detection of IPv6 being disabled
78     - libpcp: small portability fixes from OpenIndiana compilers
79     - libpcp_pmda: change some char* function args to const char*
80     - libpcp_web: completely rewo of simple http client library,
81       shared library now installed and API available for all PMDAs
82     - libpcp_web: support for Unix domain socket http requests
83     - libpcp_web: prefer persistent connections whenever possible
84     - libpcp_web: cater for both http 1.0 and 1.1 client requests
85     - rc scripts: allow systemd auto-restart of all PCP daemons
86     - rc scripts: ensure same-named non-PCP daemons are not killed
87     - cron scripts: ignore *.rpmsave and *.rpmnew from control.d
88     - zsh completions: minor tweaks, rewrite archive completion
89     - build: re-instate libsystemd-journal.so as a fallback, such
90       that pcp-pmda-systemd packages generated as previously done
91     - build: fix debian papi pmda dependencies
92     - docs: remove out-of-date section in pmdamounts(1) man page
94 pcp-3.11.4 (5 August 2016)
95     - pcp2influxdb: export PCP metrics to InfluxDB
96     - collectl2pcp: fix metadata and overflow issues
97     - pcp-mpstat: PCP version of mpstat(1), supporting archives
98     - pcp-pidstat: PCP version of pidstat(1), supporting archives
99     - pmdammv: MMV version 2 format (longer metric & instance names)
100     - pmdalinux: add kernel.percpu.intr count metric
101     - pmdalinux: add cgroup.cpusched.cfs_{period,quota} metrics
102     - pmdalinux: correctly handle Ceph RADOS RBD device naming
103     - pmdalinux: add kernel.percpu.softirqs metrics (/proc/softirqs)
104     - pmdalinux: filesys metrics use persistent device mapper names
105     - pmdalinux: persist interrupt and softirq metric name:ID maps
106     - pmdaproc: rewrite proc.psinfo.ttyname metric handling (this
107       fix significantly reduces probability of proc PMDA timeouts)
108     - pmdaproc: correct handling of command names with whitespace
109     - pmdaproc: include threads in hotproc results, if enabled
110     - pmdads389log: use "dirsrv" as default user account
111     - scripts: fix failure status handling in PMDA Install scripts
112     - pmdaoracle: fix Install script failure diagnostic message
113     - pmlogger: auto-reconnect to pmcd whenever possible
114     - pmlogger: fix broken logic for primary control file
115     - pmlogger: validate metrics before generating MARK records
116     - pmnewlog: improve checking of pmlogger processes
117     - pmlogger_check: additional hardening against failure cases
118     - pmlogconf: enable logging of small core set of XFS metrics
119     - pmchart: fix diagnostics for archives from the same host
120     - pmcd: improve robustness in the face of accept(2) errors
121     - libpcp: guard against accept() returning an AF_UNSPEC
122     - libpcp: correct __pmSecureClientHandshake() error handling
123     - libpcp: make pmcd-client protocol safer when timeouts occur
124     - libpcp_web: a new web library, with JSON-pointer (RFC 6901)
125       support for extracting values from JSON - see pmjsoninit(3)
126     - libpcp_pmda: allow string caches to be saved also
127     - python api: support for containers
128     - python api: support for local context mode
129     - python api: interface tm class to struct_time for strftime
130     - pmrep: improve command line parsing
131     - pmrep: support configuration file sources
132     - pmrep: support local context mode
133     - pmrep: add support for containers
134     - pmrep: default timezone handling fix
135     - pmrep: allow sub-second sampling intervals
136     - pmrep: improve robustness of CSV output
137     - pmrep: fix unitinfo for mixed type metrics
138     - pmrep: fix archive end time reporting
139     - pmrep: cwd, user-specific config, then system-wide config
140     - pmdiff: rework the sort/join use for portability
141     - pminfo: increase default batch size
142     - pmafm: support standard --help option
143     - pmie: honour SIGINT while parsing rules
144     - zsh completion: multi-archive support
145     - zsh completion: support pmafm/pmie2col/pmlogcheck/pmloglabel
146     - zsh completion: --container improvements
147     - zsh completion: fix handling of pcp(1) subcommands
148     - build: ensure man pages are not built if unnecessary
149     - build: look for libsystemd not deprecated libsystemd-journal
150     - build: rearrange deb order of depending on python3 modules
151     - build: add missing python debian package shlib dependencies
152     - build: remove build-essential packages from debian/control
153     - build: add to ds389{,log} RPM package dependencies
154     - build: do not include .gitignore in installed file set
155     - build: fix declarations for deb graphite export package
156     - build: create nssdb directory with rpm spec packaging too
157     - docs: fix pmmgr(1) path typo
158     - docs: updates to pmrep configuration section
159     - docs: update pmns(5) domain table to match stdpmid
161 pcp-3.11.3 (17 June 2016)
162     - zsh: pcp command auto-completions for the zsh(1) shell
163     - pcp-ipcs: new command to show inter-process communication
164     - pmdalinux: add maximum memory bandwidth per numa node metric
165     - pmdalinux: update max numa bandwidth iff the .config changes
166     - pmdalinux: add metric about current shared memory segments
167     - pmdalinux: ipc shared memory swap attempts/successes metrics
168     - pmdalinux: add MSG_INFO and SEM_INFO ipc metrics
169     - pmdaproc: fix typo in name of proc.memory.vmhw{n,m} metric
170     - pmdaproc: switch to external instances without arguments
171     - libpcp, pmcd, pmproxy: client certificate support for secure
172       connections and add a PMCD_REQUIRE_CLIENT_CERT option
173     - libpcp: allow self-signed server certs in secure connections
174       optionally via PCP_SERVER_SELF_CERT environment variable
175     - libpcp: correctly propogate indom in mixed derived metrics
176     - libpcp: allow name of server certificate to be customized
177     - libpcp: plug memory leak in derived metrics error handling
178     - libpcp: drop dup-metric warning for logged derived metrics
179     - collectl2pcp: refine proc names, support for more metrics
180     - pmcd: improve interrupted pmcd/pmda communication resilience
181     - pmcd: make probe-style connection error a debug diagnostic
182     - pmdapapi: defensive programming improvements
183     - pmdaperfevent: current memory bandwidth perf derived event
184     - pmdaoracle: allow explicit host name and port specification
185     - pmdaoracle: allow potentially high latency query disabling
186     - python pmcc: cater for additional sample needed by counters
187     - pmrep: fix infinity handling
188     - mmv: several python api wrapper fixes
189     - rc scripts: really use default pmcd timeouts by default
190     - rc scripts: no longer allow stopping pmie/pmlogger from cron
191     - rc scripts: add primary (local) pmie concept to pmie
192     - misc: add --version/-V option to several more commands
193     - pmlogextract: fix metadata checking for duplicate names
194     - pmlogconf: move atop nfsclient metrics into own config
195     - pmwebd: allow use of compressed archives as nature intended
196     - build: fix pcp-python vs pcp-python3 deb package contents
197     - build: remove duplicate or unneeded header file checking
198     - build: resolve rpm multilib fallout from printf vs configure
199     - build: resolve Windows build fallout from timezone changes
200     - build: correct logic bug in builddefs INSTALL_MAN macro
201     - build: fix configure test for perl Net::SNMP module
202     - build: Fedora mandates a build-dep on perl-devel for pcp
203     - build: improve command-check error reporting in configure.ac
204     - build: new pcp-devel rpm package with tools/docs
205     - build: drop python dependency from pcp rpm package
206     - build: redo the generation of debian control file
207     - build: reinstate infiniband PMDA optional deb packaging
208     - build: don't double-up on default-on deb monitoring services
209     - build: fixes to the packaging for OpenMandriva
210     - docs, pmie: replace xwsh with xterm use throughout
211     - docs: update pmie man page references to oracle metrics
212     - docs: improve the sample code in the python mmv module
213     - docs: added tutorial about new secure connection features
214     - docs: use markdown for README/INSTALL formatting
216 pcp-3.11.2 (29 April 2016)
217     - pmdalinux: add per CPU network.softnet metrics
218     - pmdaoracle: connect to pmcd as early as possible
219     - pmdaperfevent: optional scaling of derived events
220     - pmdaperfevent: alternate event groups for derived events
221     - pmdaelasticsearch: restrict to local node metrics by default
222     - pmdaproc: cgroup blkio throttle throughput+iops metrics
223     - pmdaproc: fix per-process scheduler metrics (type+semantics)
224     - pmdaroot: add check for config.v2.json Docker 1.10+ files
225     - pcp-collectl: fix missing network.interface metric handling
226     - pcp-iostat: add -R flag for device name regex matching
227     - pcp-iostat: add -G flag for sum, avg, min or max statistics
228     - pcp-iostat: add -x flag to skip idle devices
229     - libpcp: fix pmcd-context-sharing refcnt and memleak bug
230     - libpcp: add support for permanent, global derived metrics
231     - libpcp: fix a multi-archive context error path memory leak
232     - libpcp: increase discovery probe thread stack sizes
233     - libpcp: rework push and pop of TZ values into environment
234     - pmcd: usability improvements to pmda restart
235     - pmieconf: tweak pcp.pmda rule to detect persistent failures
236     - packaging: python3 debian package
237     - packaging: optional vector webapp debian package
238     - images: switch to DFSG-compliant licensing for GUI icons
239     - pcp_completion.sh: add pmrep support to bash completion
240     - derived metrics: add derived iostat metrics below disk.*
241     - pmchart: split out the Iostat view into SD, DM and MD
242     - pmwebd: better support for some older MSIE browsers
243     - python api: improve the to-string function for struct tm
244     - pmrep: handle Py3 BrokenPipeError in Py2 compatible manner
245     - docs: updates to the pmdajson README file
247 pcp-3.11.1 (18 March 2016)
248     - libpcp: multi-archive contexts (directory or comma-separated)
249     - libpcp: fix corner case in loading PMNS causing duplicates
250     - libpcp: fix pmLoadDerivedConfig return code, man page updated
251     - libpcp: fix initialization error in roll-your-own TPD (MacOSX)
252     - libpcp_import: new pmiPutMark() API to write <mark> records
253     - libpcp_import: check timestamp ordering in pmiPutResult too
254     - pmieconf: rule to automate restarting of unresponsive PMDAs
255     - pmlogconf: automatically record Oracle database metrics
256     - pmlogconf: automatically record application mmap'd metrics
257     - pmdadarwin: add a hinv.machine metric like other platforms have
258     - pmdaelasticsearch: adjust to deal with elasticsearch API change
259     - pmdaopenbsd: first working version, basic kernel metrics
260     - pmdaoracle: Oracle database metrics available and updated
261     - pmdaoracle: improve error handling on disconnect/reconnect
262     - pmdalinux: fix metric units for swapdev.priority metric
263     - pmdalinux: fix interrupts data types for big endian hosts
264     - pmdalinux: require privileged client for slabinfo metrics
265     - pmdalinux: support for MD driver statistics and status
266     - pmdammv: name mmv control metrics with standard convention
267     - pmdaperfevent: add extension for perf derived events
268     - pmdapmcd: restrict pmcd.services to checking known pcp services
269     - pmdaproc: fix possible sigsegv with unexpected refresh order
270     - pmdasample: add sample.negative metrics for test coverage
271     - pmdaslurm: add allocated cores metric
272     - pcp2graphite: add an option to specify pickle protocol
273     - pcp2graphite: use cPickle instead of pickle for speed
274     - pcp2graphite: send all metrics at once in pickled mode
275     - pcp-vmstat: wrapper for pmstat to be more vmstat-alike
276     - pcp-iostat: uninterpolated archive replay with -u option
277     - pcp-iostat: tweak syntax used for old python versions (2.6.6)
278     - pcp-iostat: signal handling improvements to dodge warnings
279     - pcp-iostat: add -P flag for setting precision (ala pmrep)
280     - pcp-dmcache: dynamic lvname width to avoid truncation
281     - pmie: updates to the PATH handling for pmie shell actions
282     - pmrep: fix extended header times with -O, and sample count
283     - pmrep: correctly handle the end of the time window
284     - pmrep: improve stdio flushing to avoid exception errors
285     - pmrep: fix timezone handling and reporting
286     - pmrep: adjust exit codes for consistency
287     - pmrep: do not issue fsync, makes no sense here
288     - pmrep: finalize zabbix transfers in all cases
289     - pmsignal: provide a targetted program mode, -p option
290     - pmsignal: make dry-run mode show the full command line
291     - pmsocks: use the wrapper script from the tsocks package
292     - pmval: correct handling of real negative values
293     - perl api: fix input-type-socket connection logic typo
294     - perl api: merge pmdalogger logic fix for input string handling
295     - zbxpcp: add derived metrics configuration support
296     - zbxpcp: support both Zabbix 2 and 3 versions simultaneously
297     - dbpmda: add -f option to skip .dbpmdarc processing
298     - collectl2pcp: write a <mark> record between each input source
299     - build: pmdasnmp is now conditionally built as nature intended
300     - build: install pmlogconf where it will be found, like pmieconf
301     - build: fix rpmbuild warnings about symlink attrs
302     - build: fix compiler warnings from perl PMDA module
303     - build: fix af_unix-related solaris build failure
304     - build: rework Makepkgs configopts logic for rpm/dpkg confusion
305     - build: allow rpm signing, bintray upload tweaks (gpgenabled=1)
306     - build: non-verbose reporting on Makepkgs deb packages too
307     - build: add /usr/local/bin to search path for new Mac OS X Qt
308     - packaging: several Debian build depencency corrections
309     - porting: numerous OpenBSD portability changes across the board
310     - porting: numerous Mac OS X fixes and testing (incl a pmpython)
312 pcp-3.11.0 (29 January 2016)
313     - containers: add a pcp-pmwebd container image
314     - pmcd: start PMDAs via pmdaroot, allowing restart on PMDA
315       failure without restarting pmcd itself
316     - pmcd: tenfold speed up of the shutdown process
317     - pmcd: ensure startup before zabbix-agent, with systemd
318     - pmdafreebsd: use getifaddrs() for network interface
319     - pmdalinux: fix /proc/interrupts parsing on s390x platforms
320     - pmdalinux: fix i386 buffer overflow in softnet stats
321     - pmdalinux: support additional vmstat kernel metrics (virt
322       balloon, transparent-huge-page zero page alloc counters)
323     - pmdaxfs: support the per-device XFS metrics
324     - pmdanamed: fix SELinux AVC denials during Install
325     - pmdavmware: updates to work with current VMWare perl API
326     - libpcp: improvements to derived metrics error handling
327     - libpcp: rework interp logic arond <mark> records
328     - libpcp: fix bug in interp mode record caching
329     - libpcp: pthread_mutexattr_destroy, pthread_mutex_destroy calls
330     - libpcp: added a new fetchgroup API
331     - libpcp: fix dup-context-with-attrs memory corruption bug
332     - libpcp: fix derived metric PMNS navigation mem leak
333     - libpcp: unconditional registration of anon (event.*) metrics
334     - pcp-iostat: use py3 and py3 compatible pipe exception handlers
335     - pcp-iostat: improve incorrect counter rate conversion
336     - pcp-iostat: improve BrokenPipeError exception handling
337     - pmmgr: add general monitor-program launching option
338     - pmmgr: resolved a couple of small memory leaks
339     - pmrep: fix first sample reporting, instant/discrete metrics
340     - pmrep: fix string valued metric reporting, with python3
341     - pmval: improve reporting in the region of <mark> records
342     - pmwebd: add an option to disable service advertising
343     - pmwebd: support for http compression
344     - pmwebd: add units/sem to legend in graphite/png mode
345     - pmwebd: enable graphite image-mode caching via redirection
346     - pmwebd: add an option for alternative name encodings
347     - sar2pcp: support additional mem.util metrics
348     - docs: updates to the system CPU performance tutorial
349     - packaging: add missing dependencies on some perl modules
350     - packaging: drop the pcp-compat subpackage
352 pcp-3.10.9 (16 December 2015)
353     - pmrep: swiss-army-chainsaw metric reporting utility
354     - pmstat: fix sigsegv from uninit'd var use in gui mode
355     - pcp-iostat: handle transient devices more cleanly
356     - pmwebd: deprecate local context and unix: access
357     - pmwebd: add _store protocol support as in pmwebapi(3)
358     - pmlogrewrite: change severity of DYNAMIC_PMID checks
359     - pmlogger: improvements to derived metric handling
360     - libpcp: fix a missed context unlock case
361     - libpcp: allow exclusive flag to be passed via hostspec
362     - python api: resolve series of corner cases in python APIs
363     - libpcp: finer-grained manipulation of pmcd timeouts
364     - libpcp_pmda: plug memory leak with dynamic metric names
365     - pmdajson: support counter and discrete metrics
366     - pmdanetfilter: update to use current /proc hierarchy
367     - pmdaroot: optimised name lookup for direct match case
368     - pmdaroot: rework partial-systemd-install detection logic
369     - pmdalinux: add support for guest nice CPU time 
370     - pmchart: update vCPU view to account for guest_nice time
371     - pmdalogger: fix buffer overrun after read()
372     - pmevent: consolidate code, merge into pmval sources
373     - pmdapipe: command output event capture PMDA
374     - sar2pcp: add support for sysstat-11.0.1 commands
375     - pmdafreebsd: numerous updates and new kernel metrics
376     - zbxpcp: Zabbix Agent loadable module for pcp metrics
377     - build: remove all dynamic library loading during build
378     - build: switch Mac OS X packaging to /usr/local over /usr
379     - build: FreeBSD porting and QA work across the whole tree
380     - build: add gcc/gcc-c++ build requires for Fedora packages
381     - build: refactor pmda.h to separate out pmdaroot internals
382     - rc scripts: ensure no tmp_t selinux context on configs
384 pcp-3.10.8 (30 October 2015)
385     - pmdaslurm: new PMDA exporting HPC scheduler metrics
386     - pmdalinux: correctly report high speed network link speeds
387     - pmdalinux: support for wireless network interfaces
388     - pmdalinux: add support for NVME devices
389     - pmie: fqdn functionality, added %c for action strings
390     - pmlogextract: runtime reducing instance optimizations
391     - pmlogrewrite: metric name lex pattern change
392     - pmlogger: change semantics for first logging operation
393     - rc_pmlogger: shell escape for control file "directory" field
394     - pcp-atop: update with latest atop features (esp. NFS)
395     - pcp-atop: fix initial fetch time offset for the globals
396     - pcp-atop: fix -b/-e options to match man page description
397     - docs: update Quick Ref Guide with pcp-atop/pcp-atopsar
398     - docs: remove outdated pmatop man page, see pcp-atop(1)
399     - python api: fix local-context mode type error
400     - python api: improve handling of non-ascii instance names
401     - python api: simple debugging interface to access pmDebug
402     - python api: ensure an interruptible sleep is used
403     - python api: add single host/archive pmOption setter methods
404     - libpcp: add $PCP_DEBUG to initialize pmDebug
405     - libpcp: extend __pmAF* family with __pmAFsetup
406     - libpcp: resolve false-context-sharing corner cases
407     - pcp2graphite: provide a local-context mode option
408     - pmmgr: add the subtarget-containers option
409     - pmmgr: add pmlogreduce support
410     - rc_pmcd: be more careful with auto-install/-remove
411     - pmcd: allow dynamic switching of monitored containers
412     - pmdapmcd: add pmcd.client.container diagnostic metric
413     - pmdaroot: new metric mapping containers to their cgroups
414     - pmdaroot: add cgroup heuristics for non-systemd setups
415     - pmdaroot: fix timeliness of creation of socket connection
416     - pmdads389: add normalized dn cache metrics
417     - pmdads389: instantaneous vs discrete metric corrections
418     - pmdads389: send correct error codes when not connected
419     - pmdamounts: correct a number of 32-bit unsafe calculations
420     - pmdanfsclient: improve PMDA error handling
421     - pmdaperfevent: fix invalid metric names
422     - pmdaperfevent: add reference clock cycles for NHM and WSM
423     - docs: added upgrade instructions to pmdaperfevent man page
424     - containers: bindmount /dev/log for syslog messages
425     - build: fix FreeBSD 10.2 with dtrace probes auto-enabled
427 pcp-3.10.7 (16 September 2015)
428     - containers: added the pcp-pmie container
429     - containers: remove /proc bind mount, conflicts with --pid=host
430     - pcp-atopsar: new PMAPI sar command based on http://atoptool.nl
431     - pcp-uptime: fix sigsegv from missing metrics on first fetch
432     - pmchart: fix memory corruption when restoring Saved Hosts list
433     - pmchart: fix sigsegv opening a view when no archive available
434     - rc_scripts: pmie/pmlogger - logged, no longer send cron email
435     - rc_scripts: pmie/pmlogger - support for control.d directories;
436       backward-compatible /etc/pcp/{pmie,pmlogger}/control extension
437     - rc_scripts: pmcd/pmlogger - provide a localhost-only setting
438     - pmdamic: new PMDA for Intel MIC card metrics
439     - pmdaproc: export CPU scheduler cgroup metrics from cpu.stat
440     - pmdalinux: export IPv6 kernel metrics from /proc/net/snmp6
441     - pmdalinux: fix variable types for several disk metrics
442     - pmdalinux: printf int64_t and/or uint64_t support (for softnet)
443     - pmdajson: updates to allow use with python 2.6 installations
444     - pmcpp: support inline shell command execution
445     - pmwebd: multiple metrics/instances per log graphite mode speedup
446     - libpcp: use public domain getdate instead of gnulib version
447     - libpcp: optimise archive decompression for common operations
448     - libpcp: revert pdubuf tsearch-based optimisation, fails on OSX
449     - pmieconf: add dmthin pool utilization monitoring scripts
450     - python: more care taken in pmOptions destructor (could sigsegv)
451     - windows port: 64-bit format specifiers throughout code base
452     - windows port: fix a libpcp dlsym bug and IPC on Windows
453     - windows port: fix a python crash when free'ing resources
454     - pmdawindows: fix mem.cache.bytes metric kernel extraction
455     - perl pmda module: fix double free error in local_sock() routine
456       (observed to cause pmdamemcache crash during error path exit)
457     - pmdanginx: correct errors returned for not-running nginx daemon
458     - pmdamounts: add mount fs usage metrics via statvfs(3)
459     - pmdapostfix: improve error handling for files vs directories
460     - pmdanfsclient: fix typos in metric value parsing routines
461     - pmlogconf: remove tool-specific intervals from tool templates
462     - pmlogconf: add nginx, elasticsearch and memcache configs
463     - docs: update quickref guide for easier command pasting
464     - docs: update references to init scripts, pmlogger control files
465     - docs: update pmdanginx(1) describing nginx configuration needs
466     - build: configure.ac preserves optional gcc flags in the build
467     - build: cater for builds using the latest Vector (now 1.0.2)
468     - build: fix LGPL license annotations in headers+libraries
469     - build: current FreeBSD toolchain updates
471 pcp-3.10.6 (4 August 2015)
472     - rc_scripts: use syslog over email for error notification
473     - libpcp: catch bad valfmt encoding in interp.c (SGI BZ 1100)
474     - libpcp: $PATH-alike lists for derived metrics configurations
475     - libpcp: add instant() method for derived metrics
476     - libpcp: fix locking problem in pmGetConfig(3) routine
477     - python: fix bug in pmsubsys causing timestamp to reset.
478     - misc: several Coverity scan bug fixes, across the board
479     - containers: add version and arch to container image filenames
480     - containers: add crontab entries for containers
481     - containers: don't fix pcp user since pcp-base already does
482     - pmlogcheck: teach it about valfmt badness
483     - pmcpp: major revamp for pmlogger use (include files & macros)
484     - pmcpp: speed and robustness enhancements
485     - pmdadm: fix 2 dmcache metrics encoding on big-endian machines
486     - pmdalinux: fix the mnt/net namespace setns call ordering
487     - pmdalinux: corrections to the linux disk statistics metadata
488     - pmdalinux: ipc shared memory metrics for total, rss, and swap
489     - pmdalinux: new network.softnet metrics (/proc/net/softnet_stat)
490     - pmdaproc: reduce log spam in pmdaproc unknown state case
491     - pmdapostgresql: separate DB username from O/S username
492     - pmdapostgresql: major overhaul for different versions schemas
493     - pmdapostfix: general log parsing improvements
494     - pmdajson: handle instances better in the JSON PMDA.
495     - pmdajson: default to instantaneous metrics and do not attempt
496       to guess at semantics from type.
497     - pmdaperfevent: fix typo causing memleak/worse on an error path
498     - pmdadtsrun: fix parenthesis botch in Perl code
499     - pmdate: correct year and month offset problems at end of month
500     - pmlogconf: stop enabling percpu interrupt metrics by default
501     - pmlogger: improve handling of stale primary socket links
502     - pmlogger: integration with pmcpp
503     - pmwebd: elide repeated indom searching in graphite mode
504     - pcp2graphite: archive mode, reused connections, and python3
505     - pcp-atop: correct the reporting of some system memory metrics
506     - pcp-python: allow preferred-python switching at runtime
507     - pcp-collectl: fix an interrupt subsystem crash
508     - pcp-collectl: break out append statements for valid syntax
509     - pcp-collectl: fix recording of data to archive folios
510     - iostat2pcp: fix off-by-one error in disk rawactive metrics
511     - docs: corrections to pmdaperfevent man page
512     - docs: add some missing text to pmGetConfig man page
513     - docs: correct references to pre-v3 CC-BY-SA license
514     - docs: update book builds for current Publican variants
515     - docs: add derived metrics section to guide.html
516     - rpms: pcp-collector meta-package default-enables pmcd+pmlogger
517     - build: fix dependency problems causing parallel make races
518     - build: pcp containers build support via Makepkgs
519     - build: ensure pmcollectl is installed, man page updates
520     - build: correct rpm package dependency on pcp-libs version
521     - build: disable autofsd-probe on (most) platforms, unneeded
522     - build: allow pmdajson configure on/off build overrides
523     - build: rework configure test for ps(1) output formats
524     - build: install python-pcp in pcp-monitor container
525     - build: get native Solaris builds going again
526     - build: get native Illumos builds going again
527     - build: get native Windows builds going again
529 pcp-3.10.5 (15 June 2015)
530     - packaging: rebuild pmns in %post in fedora.spec
531     - build: changes for SUSE SLES 12
532     - ds389log: fixes to match updated logconv.pl
533     - build: realpath not needed, and not there on older platforms
534     - build: fix configure typo causing accidental books build
535     - packaging: fedora spec updates to be more consistent with Makepkgs
536     - build: add ppc64le to rpm 64bit lib macro list
537     - libpcp: pmdaCache: hash determinism across compilers/platforms
538     - pmda proc: Proc metrics depend on page size
539     - pcp-atop: fix folio recording replay with DM indom
540     - pcp-atop: fix bounds checking on disk names (valgrind)
541     - pmdaproc.sh: ensure pmloggers not started if disabled
542     - json pmda: tolerate json array instances that are missing
543     - pmnewlog: usage tweaks
544     - packaging, build: json pmda: make build and packaging conditional
545     - configure: add /bin/sh as possible pid==1 candidate
546     - pmlogger: initialize linger
547     - pmdalinux: Deprecate hinv.nlv and hinv.map.lvname, add hinv.map.dmname
548     - python: fix bug found by qa/739, unguarded destructor call
549     - pmlogger: add comment explaining -o => opts.Lflag usage
550     - pmnewlog: clean up usage message
551     - pcp-atop: implement record mode functionality (-w option)
552     - pcp-atop: resolve a print-buffer overflow on large I/O values
553     - build: src/include/builddefs.in: promote QA SUBDIRS
554     - pmie: prevent premature rule evaluation in pmie live mode
555     - pmlogger: add initial support for running in local context mode
556     - rc scripts: Use full path to pmlogger in pmlogger_check
557     - containers: Use pcp-base as the base image for all other PCP containers
558     - containers: introduce pcp-base container, for layering
559     - pcp-atop: reading from PCP archives now operational
560     - rc scripts: Don't fork pmcheck co-processes in a container environment
561     - pmlogconf: use the correct dm metrics in the atop set
562     - pmtime: further workarounds for App Nap on Mac OS X
563     - pcp-atop: archive mode and md/lvm device support
564     - pmie: fix for ruleset UNKNOWN case
565     - pmie: add new 'instant' operator, with doc updates
566     - pmda json: Skip sources with the same name in the JSON PMDA
567     - pmlogger_check: re-process every logconf group on config updates
568     - pmlogconf: qa and other updates following recent additions
569     - pmfind, pmsleep: Use sig_atomic_t within signal handlers
570     - pmda json: Add python 2/3 compatibility fixes
571     - packaging: ensure pmiostat and pmatop symlinks end up in system-tools
572     - pcp-atop: feature-filled PMAPI version of atop
573     - containers: configuration of optional PMDAs in pcp-collector container
574     - containers: prototype Dockerfiles and build infrastructure (not integrated)
575     - build: retire old pmtop sources and man page
576     - build: allow for multiple man pages below one src subdir
577     - pmdaproc: add two /proc/pid/status metrics, used by atop
578     - pmdaproc.sh: fix temp file handling
579     - packaging: Mirror pcp.spec.in package into fedora.spec
580     - pmdalinux: restore pmlogrewrite config file name
581     - build: add struct declarations for application headers
582     - build: add ncurses configure checking via pkg-config for console tools
583     - packaging: debian: add missing pmGetOptionalConfig.3.gz entry
584     - pmda linux_proc: cleanup up the jiffies -> msec calculations
585     - linux pmda: fix up types for some disk i/o metrics
586     - jbd2 pmda: add pmlogrewrite support for KERNEL_ULONG metrics
587     - pmlogextract: fix additional corner case for -d
588     - pmdalinux: code refactoring, common source files for ipc metrics
589     - pmdaroot: Fix NULL pointer deref for initial root_container_search(NULL)
590     - pmdaproc: ensure environ_buf buffer correctly setup on refresh
591     - docs: correct the pmmktime(3) return code - not a pointer
592     - pmie: add quiet mode to suppress default diagnostics
593     - python pmda api: Fix problems when returning fetch errors
594     - pcp.sh: ensure usage always generated via --help option
595     - pmdas: handle multiple pmchart config files for pmda installs
596     - pcp-shping: report shell-ping availability/response times
597     - pmda linux proc: Fixup some of the time types in linux_proc descriptors
598     - pmda json: Ignore cache load erros, fix refresh metric bug
599     - pmda json: Improve the JSON PMDA by use of indom caches
600     - libpcp python: Improve indom cache handling, add Add pmdaCacheResize()
601     - libpcp: add a pmGetOptionalConfig(3) for safe use in DSOs
602     - pmdaroot: fix order of pmdaConnect/Init for slow start case
603     - build: improve parallel builds, use make %{?_smp_mflags}
604     - pmdaroot: Add some additional DBG_TRACE_ATTR debug printfs
605     - build: update mac plist properties, attempt an appnap workaround
606     - pmdaroot: fix race and segv with short-lived containers
607     - docs: man/pmda.3: document the hidden variables in pmdaproc.sh
608     - pmdaproc.sh: rework, retire perl_args and python_args
609     - pmdalinux: fix container issues, especially with networking metrics
610     - libpcp: allow duplicates pmns names
611     - build: work-around bugs in RPM filter-requires
612     - build, packaging: lots of conditional Requires clauses
613     - packaging: Wrap pcp-pmda-rpm and pcp-gui with proper %if checks
614     - docs: Fix location of pcp-webjs gitweb in the pcp guide
615     - build: spin-rawhide: Extract version info from VERSION.pcp
616     - build: add rpm conflict handling for pcp command in librapi
617     - packaging: Add pcp-doc to pcp-compat deps to avoid losing man pages on upgrade
618     - packaging: Rename pcp-pmda-nvidia rpm to pcp-pmda-nvidia-gpu
619     - perl binding: refine perl PMDA interface error codes
620     - build: pmda.h: refine PMDA_PMID macro
621     - packaging, build: rpm packaging split - split out most PMDAs
622     - build: Add configure psproc check for /bin/bash for open build systems
623     - pmdaproc: consistent error code for missing proc.psinfo metrics
624     - pmda systemd: re-enable with reworked regex in file selection
625     - packaging: add pcp-compat package for back-compat upgrades
626     - pmdapostfix: logfiles are root-readable only, drop setuser (RHBZ #1213724)
627     - pcp-lvmcache: added link, an exact synonym for pcp-dmcache
628     - docs: add a configure switch for publican brand support
629     - libpcp: add pmGetVersion
630     - rc scripts: more cautious approach to using systemctl for Debian
631     - docs: describe hotproc in the quick reference guide
632     - pmda json: add an empty "trusted_directory_list" to default config file
633     - libpcp: new error code PM_ERR_BADSTORE for malformed pmstore input
634     - hotproc: update the pmdaproc manpage with hotproc info
635     - hotproc: Allow config file reload
636     - hotproc: disallow hotproc.conf with global write mode
637     - pmda postfix: bugfix to report mails submitted using mail program
638     - hotproc: support disabling via pmstore
639     - pmdaproc: add help text for new cgroup mem metrics
640     - pmiostat: Add pmiostat to the list of tools known to pmafm
641     - pmda root: fix for root_root installer problem on Mac OS X
642     - pcp-monitor and pcp-collector 'meta' packages to pcp.spec.in
643     - libpcp: libpcp/check-statics: more Mac OS X changes
644     - pmda postfix: Force restart for postfix pmda installation to change gid
645     - libpcp: p_profile.c: add fault injection points in libpcp_fault
646     - pmnscomp: remove code ... no longer used - deprecated
647     - libpcp: avoid pmcpp when loading PMNS for the most common usage
648     - pmda rpm: check return status from pthread_create
649     - hotproc: add guards for missing ioentry
650     - pmdumplog: fix cmdline filename handling
651     - pmdaproc: additional proc memory, namespace and memory cgroup metrics
652     - python: exception handling improvements
653     - pmdamounts: fix stack corruption for large mount options
654     - libpcp: pmns.c pmNameID and pmNameAll error handling fix
655     - pmwebd: add -I option for opening directories-as-archives for graphite
656     - pmwebd: graphite-png rendering: tweak graphics
657     - pmwebd: compressed archive mitigation, skip them in graphite mode
658     - pmwebd: crash fix: png-rendered multiple graphs with corrupt archives
659     - pmwebd: handle exit_p requested during graphite data-mass gathering
660     - pmwebd: fix little memory leak for fts() during interrupted rendering
661     - pmwebd: add a "-i MIN-INTERVAL" option for graphite time-precision control
662     - hotproc: cleanups, gracefully handle no schedstat, config cleanup
663     - pmiostat: accumulate -x arguments, remove duplicate error handling
664     - ds389log: init metrics with PM_ERR_AGAIN not zero
665     - pmdads389[log]: make configuration variables actually configurable
666     - pmdads389: make more resilient to server failures
667     - libpcp: interp.c: massive performance improvement in archive replay
668     - build: scripts to set up a buildbot 
669     - libpcp: pmLookupName() error handling, especially for dynamic metrics
670     - hotproc: fix an off by one error for fname configs
671     - rc scripts: Allow more than one .NeedInstall to occur at a time
672     - pmie: remove unnecessary 2 second delay at live startup
673     - pmiostat: usage message cleanup
674     - build: pmchart: porting work to current macosx compiler
675     - packaging: Build pmns in RPM spec for faster startup
677 pcp-3.10.4 (15 April 2015)
678     - pmdalinux: fixed kernel.pernode.cpu.* for systems with only one CPU.
679     - pmdadm: merged in pmdadmcache, added thin provisioning metrics
680     - pmcd: fix failure to recover from errors sending client attrs
681     - pmcd: don't advertise presence if -A specified.
682     - pmchart: fix metric/host selection for containers
683     - python build: support for epel5 builds using python26 packages
684     - python api: do not assume unicode is only for python3
685     - stdpmid: updated the reserved domain number ranges
686     - libpcp: fix instance request memory corruption for large requests
687     - libpcp: multi-threading fixes and pdubuf optimisations
688     - libpcp: fix Avahi-related memory corruption
689     - libpcp: fix an interpolation performance issue
690     - libpcp: fix getopt --hostsfile parsing
691     - libpcp: tighten error handling in __pmGetArchiveEnd()
692     - pmwebd: enable multi-threading by default
693     - pmwebd: correct _indom array-allocation logic
694     - pmwebd: additional ACAO headers to resource responses
695     - pcp2graphite: python version neutral handling of stdout flush
696     - pcp-verify: a new utility for verifying collector setups, especially
697       for use with containers
698     - pcp sh: fix tempfile leak with sub-commands, refactor pcp-summary
699     - rc scripts: ensure rundir directories created when needed
700     - rc scripts: ensure tmpfiles not leftover from helper scripts
701     - rc_pmcd: add .NeedRemove option for pmcd start script also
702     - pmpause: lightweight pmsleep extension for a pmcd container
703     - pmlogcheck: merge previous versions, added documentation and tests
704     - pmdumplog: new options and new log reading logic
705     - build: add missing configure check for pkg-config requirement
706     - build: Dockerfile for a pcp-pmcd container image based on Fedora
707     - build: get Mac builds going on current Mac OS X (10.9/10.10)
708     - configure: fix AC_MSG_ERROR parameter passing
709     - packaging: fix default pmlogger/pmie configs directory location
710     - packaging: simplify rpm dependencies on pcp-webjs package via %dir
711     - packaging: relax the allowed-libpfm-version checks a little
713 pcp-3.10.3 (2 March 2015)
714     - enhancement: ongoing improvements to the native containers support
715         http://pcp.io/docs/lab.containers.html
716     - enhancement: pmlogger on-the-fly one-shot recording
717     - doc: containers tutorial.
718     - build: new scripts directory. Contains useful scripts for project
719       management tasks.
720     - build: python-pcp no longer required.
721     - build: python3 now used where available.
722         https://bugzilla.redhat.com/show_bug.cgi?id=1194324
723     - build: new --with-papi configure option.
724     - qa: lots of improvements for robustness, portablity and determinism.
725     - qa: duplicate PMNS names allowed by default.
726     - pmdapapi: add papi refresh/read batching: papi.control.batch.
727     - pmdalinux: improve /proc/cpuinfo parser for irregular formats.
728     - services: ensure that they start after pmcd.
729     - libpcp: allow duplicate names to map to the same PMID by default.
730     - libpcp: duplicate PMNS names allowed by default.
731     - pminfo: duplicate PMNS names allowed by default. Reverse the semantics of
732       the -n and -N options.
733     - pmlogger: duplicate PMNS names allowed by default
734     - dbpmda: duplicate PMNS names allowed by default
735     - pmcd: duplicate PMNS names allowed by default. Reverse the semantics of
736       the -n and -N options.
737     - pmdumplog: duplicate PMNS names allowed by default.
738     - pmlogreduce: duplicate PMNS names allowed by default.
739     - pmlogsummary: duplicate PMNS names allowed by default.
740     - pmlogcheck: duplicate PMNS names allowed by default.
741     - pmevent: duplicate PMNS names allowed by default.
742     - pmchart: add an extra optional chart colour scheme.
743     - solaris PMDA: duplicate PMNS names allowed by default.
744     - ganglia2pcp: new utility.
745     - bug fix: pmlogger: signal delivery may lead to deadlock
746     - bug fix: libpcp: AF functionality has posix-signal-unsafe elements
748 pcp-3.10.2 (23 January 2015)
749     - PMAPI extension: pmParseUnitsStr. Includes python binding
750     - libpcp/pmcd: protocol-level support for containers
751     - libpcp_pmda - add pmdaInterfaceMoved() function
752     - pmdalinux: improve help text for network metrics
753     - pmdalinux: remove support for devfs device names - replaced by udev
754     - pmdalinux: rework hinv.map.scsi for longer scsi device names and indom
755     - pmdalinux: switch to running as a daemon, as root
756       persistence
757     - activeMQ: new pmda
758     - CIFS: new pmda (Common Internet File System)
759     - pmda unbound: a new PMDA for the Unbound DNS resolver
760     - pmdapapi: add configure conditional to test for
761       PAPI_component_info_t->disabled
762     - pmdapapi: add papi.available.version to output current PAPI version being
763       used
764     - pmdapapi: other new metrics
765     - pmdapapi: drop root requirement for less sensitive papi.available metrics
766     - pmdapapi: use dynamic metric description
767     - dbpmda: extend string syntax to include both " and ' delimiters
768     - rc_pmcd: execute _pmda_setup in the background
769     - Solaris build improvements:
770       - Support for Solaris symbol versioning
771       - use a libcpp exports comment style that works for both Linux and Solaris
772     - pmwebd: buildability fixes for illumos-based distros
773     - pmda root: a privileged pmcd co-process
774       Initial implementation of "pmdaroot", a helper co-process
775       for pmcd that runs with elevated privileges and is able to
776       (well, will be able to soon) offer services to pmcd and to
777       other PMDAs where root access is required
778     - pmdaroot/libpcp_pmda: interfaces for changing namespaces
779     - pmlogextract robustness improvements
780     - add pcp2graphite
781     - fix security PR1101: unprivileged access to linux proc.* metrics on modern
782       kernel
783     - Fedora 1180109: pmda cleanup was killing unrelated python and perl
784       processes
786 pcp-3.10.1 (1 December 2014)
787     - pmda proc: rework existing per-cgroup metrics - no
788       longer use dynamic metrics, allowing arbitray names
789     - pmda proc: add many new per-cgroup metrics, audited
790       definitions (units, etc) for existing metrics.
791     - perfevent pmda: new libpfm hardware counters agent
792     - papi pmda: switch to using dynamic metrics
793     - papi pmda: multiplexing, auto-enabling options
794     - papi pmda: added a new papi.control.reset metric
795     - pmwebd: improve /metrics/find for graphite dashboard
796     - pmwebd: $PCP_SHARE_DIR/webapps - default web content
797     - docs: clarify web services section in quick guide
798     - docs: fix books build for current publican versions
799     - docs: enable building of html book content as well
800     - linux pmda: improve aarch64 /proc/cpuinfo parsing
801     - libpcp: fix 64bit endian bug in highres event timers
803 pcp-3.10.0 (31 October 2014)
804     - pmlogextract: improve handling of corrupt archives
805     - linux pmda: add hinv.{cpu,node}.online metrics
806     - gluster pmda: thread-based timeout for long queries
807     - linux pmda: fix hinv.cpu.clock refresh logic
808     - dmcache pmda: add missing instance request handler
809     - iostat2pcp: cater for iostat output format changes
810     - packaging: fix debian suggests vs recommends usage
811     - sample pmda: add pmStore support for some metrics
812     - python: pmda module object refcounts improvements
813     - pmiostat: support archives converted from collectl
814     - FreeBSD pmda: changes for 32-bit platforms
815     - docs: html validation fixes for the tutorial
816     - pmie: rework control and config files
817     - pmlogger: rework control and config files
818     - pmstat: add pmlogger config as per man page
819     - proc pmda: parser rework to improve robustness
820     - proc pmda: per-proc context switch & other metrics
821     - man pages: pmdiscoverservices(3) and pmfind(1)
822     - ds389 pmda: 389 Directory Server PMDA
823     - ds389log pmda: 389 Directory Server log processing PMDA
824     - linux pmda: add rpc.server and nfs v4.1 ops metrics
825     - telnet-probe: fix byte-by-byte copying
826     - papi pmda: default enable when possible
827     - docs: improve quick reference guide, use man7.org
828     - pmproxy: fix new client init for secure connections
829     - pmdiff: minor output formatting improvements
830     - linux pmda: fix initialization for netstat metrics
831     - pmlogger: fix small race on exit condition
832     - timeval refactoring for improved double arithmetic
833     - python: drop support for versions older than 2.6
834     - python3: add pcp module support for 3.3 and newer
835     - build: workaround qmake handling of library paths
836     - Mac OSX build/install improvements
837     - pmwebd: support for more javascript demos (including
838       graphite/grafana - via separate pcp-webjs package)
839     - pmwebd: extend precision for floating point outputs
840     - pmwebd: Access-Control-Allow-Origin header additions
841     - pmwebd: experimental pthread support
842     - pmwebd: new options file configuration format
843     - pmmgr: avoid some granularity-edge races
845 pcp-3.9.10 (5 September 2014)
846     - Support for native systemd service files for daemons
847     - Support for nanosecond resolution event timestamps
848     - Changes to the FreeBSD build to bring it up to date
849     - libpcp: reduce daemon memory usage with secure sockets
850     - libpcp: add auto-deflate support for xz compression
851     - pmie/pmlogger scripts: xz compression support enabled
852     - pmie/pmlogger scripts: lzo compression support added
853     - pmlogconf: fix slow pmlogger_daily remote host startup
854     - pmcd_wait: fixed to handle af_unix sockets correctly
855     - pmatop: fix help keys
856     - pmatop: parse standard pcp options (including archives)
857     - pmstore: support for local-context mode of operation
858     - pmdiff: additional reporting options, added to /usr/bin
859     - pmdiff: fix column layout with custom precision setting
860     - pmlogsummary: fix time window reporting with -S and -T
861     - pmdapapi: new agent for PAPI hardware event counters
862     - pmdagfs2: latency metrics for glock grant/demote/queue
863     - pmdamysql: change metric semantics for "uptime"
864     - pmdaxfs: fix DSO mode and allow test data injection
865     - pmdammv: long option support
866     - docs: numerous updates to the online documentation
867     - docs: added a quick reference guide for Red Hat users
869 pcp-3.9.9 (13 August 2014)
870     - sar2pcp: support for systat version 10.2.0
871     - pmiostat(1): new monitor tool with iostat-alike output
872     - pcp-dmcache(1): new monitor tool for dm-cache devices
873     - pmdalinux: disk.dm.* metric hierarchiy (device mapper)
874     - pmdalinux: refine device mapper naming for old platforms
875     - pmdalinux: allow controlled data injection for QA tests
876     - pmdadmcache: new agent for device mapper cache targets
877     - pmdainfiniband: correctly initialise switch metrics
878     - libpcp: global timeout option for service discovery
879     - libpcp: __pmDiscoverServicesWithOptions() improvements
880     - libpcp: grok '%<interface' for link-local ipv6 addresses
881     - libpcp: derived metrics support for new rate() keyword
882     - python api: many convenience class module extensions
883     - python api: timeval accessor helper interfaces
884     - python api: pmUnitStr now uses thread-safe version
885     - python api: pmNumberStr_r now available from python
886     - python api: fix derived metrics interface exceptions
887     - pmlogconf: mark some log-default metrics as log-once
888     - dbpmda: use the correct (blocking) socket API variants
889     - pmlogger_daily: fix $PCP_RUN_DIR creation checks
891 pcp-3.9.8 (16 July 2014)
892     - Add overlooked Debian packaging metadata updates.
894 pcp-3.9.7 (16 July 2014)
895     - pmie: "ruleset" extensions to the pmie(1) language
896     - pmdaproc: additional memory and new blkio cgroup metrics
897     - pmdanvidia: new Nvidia GPU PMDA using NVML interfaces
898     - pmdainfiniband: add switch counter metrics
899     - pmdalustrecomm: bug fixes in the lnet memory metrics
900     - pmdamemcache: fixed underlying socket code
901     - pmdalinux: mem.util.available for down-rev kernels
902     - pmdagfs2: several fixes and improvements in behaviour
903     - pmdas: support for long form command line options
904       (aix, jbd2, linux, lustre, mounts, processes, sample,
905       sendmail, txmon, xfs)
906     - libpcp: 'timeout' option for 'probe' service discovery
907     - libpcp: secure sockets timeout handling improvements
908     - pmie examples: updates to the pmie tutorial docs
909     - pmchart: new MemAvailable view for mem.util.available
910     - porting: additional GNU/Hurd port updates
911     - packaging: fix Makepkgs script for old tar versions
912     - packaging: fix rpm builds for rpm versions prior to 4.6
913     - libpcp: use minimum required stack for discovery threads
914     - libpcp: archive folio parsing in option handling code
915     - python APIs: archive folio parsing for recording tools
916     - man pages: updates to service discovery APIs and tools
917     - libpcp: archive interpolation thread safety improvements
918     - libpcp: fixed memory leak from pmDestroyContext(3)
920 pcp-3.9.6 (19 June 2014)
921     - Fix pthreads build fallout for Solaris platforms
922     - Remove accidental /var/run/pcp install on Debian
923     - Rename configure.in to configure.ac as autoconf prefers
925 pcp-3.9.5 (18 June 2014)
926     - porting work on the GNU/Hurd platform
927     - porting work on Windows (early MinGW-64 work)
928     - pmdalinux: add in the new mem.util.available metric
929     - pmchart: new vCPU view, resolve guest time reporting
930     - pmwebd: add CORS "Access-Control-Allow-Origin: *" to
931       JSON response headers
932     - pmatop: improvements to value fitting
933     - packaging: gui debuginfo/testsuite correctly replaced
934     - pmconfig: moved install location for Solaris conflict
935     - pmstat: fix hostname reporting when in cluster mode
936     - Coverity scan fixes in libpcp, python, and elsewhere
937     - packaging: pcp-doc now contains all of the tutorial bits
938     - python: timeval/metricspec error handling improvements
939     - pmatop: handle curses problems more gracefully
940     - pmdapostfix: run as postfix user, not the pcp user
941     - python: fix pmParseInterval failure segfault
942     - python: fix segfault when printing empty units
943     - libpcp: functions for collecting server port numbers
944     - pmcd.services metric reflecting PCP daemon usage
945     - libpcp, pmfind: active service probing
946     - pmproxy, pmwebd: support for service discovery
947     - pmcollectl, pmatop: improved log writing support
948     - pmie: long option support
949     - pmquery: neater output formatting
950     - pmchart, pmtime: long option support
951     - pmdasystemd: install the built binary
952     - python: significant work on the pcp.pmcc module, adding
953       long option support, scale conversion, an initial fetch
954       loop method, and entirely new convenience classes
955     - pmlogcheck: fix bad memory access sigsegv on some logs
956     - Fix infinite loop in build scripts without Qt enabled
957     - pmdalinux: add metrics from /proc/net/netstat
958     - pmdumptext: long option support
959     - pmcollectl: support for sub-second sampling intervals
960     - Revive support for RHEL5-era builds, post pcp-gui merge
962 pcp-3.9.4 (15 May 2014)
963     - pmlogger: improved archive I/O features, esp for access to
964       archives while they are actively being written
965     - pmlogger/pmlc: all flushing operations are now no-ops, but
966       they remain available for backward compatibility
967     - pcp-free: use pmConvScale in case metric units ever change
968     - pmlogmv: fix a couple of argument handling corner cases
969     - another round of IPv6 updates throughout PCP, making use
970       of __pm* networking APIs instead of e.g. gethostbyname.
971     - archive utilities updated for long option support:
972       pmdumplog, pmlogcheck, pmlogextract, pmlogger, pmloglabel,
973       pmlogreduce, pmlogrewrite and pmlogsummary
974     - PMDAs with long option support:
975       pmdaapache, pmdabash, pmdagfs2, pmdasample, pmdasimple,
976       pmdatrivial
977     - libpcp: allow addition of free-form text to usage messages
978     - pmgetopt: new cross-platform long option handling utility,
979       allowing pcp shell scripts to acquire long option support
980     - shell scripts updated to support long options:
981       pcp, pmie2col, pmie_check, pmie_daily, pmlogger_check,
982       pmlogger_daily, pmlogger_merge, pmlogmv, pmnewlog, pmwtf,
983       pmsignal, pmlogconf
984     - pmlogger: improve pmlc access controls
985     - man pages: more detailed pmlc/pmlogger access control docs
986     - pmda systemd: adopt slow-start capability
987     - pcp command: improved error handling
988     - pmcollectl: correct reporting of disk and network details
989     - merged pcp-gui source tree (back) into pcp
991 pcp-3.9.2 (15 April 2014)
992     - python api: direct support for creating derived metrics
993     - python api: fix C strings memory leak in pmExtractValue
994     - python api: fix pmConvScale parameterization
995     - python api: pmLookupName API mode allowing partial failure
996     - python api: improvements to the pmErr exceptions class
997     - python api: support auto-command-line-parsing in scripts
998     - python api: switch to thread-safe pmGetContextHostname
999     - pcp: support for scripted pcp(1) child commands, adding in
1000       pcp-free(1), pcp-uptime(1) and pcp-numastat(1) to get the
1001       ball rolling (python scripts)
1002     - pmlogmv: new utility to atomically move/rename archives
1003     - pmconfig: improvements to quoting for unusual versions
1004     - pmdaproc.sh: allow Install/Remove from any directory
1005     - libpcp: pmgetopt_r interface for use by collector tools
1006     - libpcp_pmda: slow-start PMDA changes
1007     - libpcp_pmda: fix a memory leak dealing in dynamic metrics,
1008       with PMDAs using the optional hashed metric table method.
1009     - libpcp_pmda: long option command line processing interface
1010     - libpcp_pmda: handle POSIXLY_CORRECT arguments internally
1011     - pmcd: remove POSIXLY_CORRECT env modifications
1012     - dbpmda: remove POSIXLY_CORRECT env modifications
1013     - pmlogger_check: add a no-merging-renaming-rewriting option
1014     - pmlogger_daily: don't merge archives if it is not needed
1015       (optimization)
1016     - perl pmda api: add documentation for PCP::PMDA interfaces
1017     - pmdalinux: fix a memory leak in cpu:node name resolution
1018     - pmmgr: fix daemon invocation quirk for some sh variants
1019     - pmdarpm: improvements to concurrent rpmdb access
1020     - pmdarpm: rpm.size metric now 64bit, matching rpmdb changes
1021     - pmdaproc.sh: add $perl_args and $python_args
1022     - long command line options support:
1023       pmdamailq, pmns utilities, newhelp, pmcd, pmcd_wait, pmcpp,
1024       pmdate, pmdbg, pmerr, pmhostname, pmieconf, collectl2pcp,
1025       pmlc, pmmgr, pmproxy, pmwebd.
1026     - Makepkgs changes to support source tarball builds via git
1027     - HACKING file added, describing PCP development methodology
1029 pcp-3.9.1 (19 March 2014)
1030     - libpcp: extended date parsing with GNU getdate(3) strings
1031     - libpcp: APIs for tools to share command-line options code
1032     - libpcp: thread-safe API variant for pmGetContexHostName()
1033     - libpcp: fix local:/unix: bug in __pmUnparseHostSpec
1034     - Begin adding long option support to tools (pminfo, pmval,
1035       pmprobe, pmstore, pmstat, pmclient so far)
1036     - Fix python module bug for PMDAs without instance domains
1037     - pmmgr: -march=i386 build fix
1038     - pmlogger_daily: fix problem with pmproxy connections
1039     - pmdagfs2: miscellaneous updates
1040     - pmdanfsclient: new PMDA exporting NFS client metrics
1041     - pmdazswap: new PMDA exporting compressed swap metrics
1042     - testsuite: porting, several new tests, updates to existing
1043       tests, resolved a couple of SELinux related problems
1044     - Series of portability changes for *BSD platforms
1046 pcp-3.9.0 (19 February 2014)
1047     - Packaging changes for multilib pcp-libs{-devel},pcp-conf
1048     - Packaging changes for pcp-manager and pcp-webapi split
1049     - pmmgr: signal-response improvements
1050     - pmmgr: add pmlogmerge-granular mode
1051     - pmmgr: pmlogrewrite support
1052     - pmmgr: latency-based tie-break for multi-URL target pmcds
1053     - pmmgr.1 man page: outline archiving strategy tradeoffs
1054     - pmdalinux: s390x platform issues in /proc/cpuinfo parser
1055     - pmdalinux: valgrind fix for /proc/stat parser
1056     - pmdagluster: improvements to multiple volume handling
1057     - pmdagluster: support for additional file operations
1058     - pmlogextract: <mark> record handling fix
1059     - pmdas: further robustness improvements to dynamic names
1060     - pmdas: Install scripts can run even when pmcd is stopped
1061     - pmdanfsclient: add source code (not yet enabled in build),
1062       thanks to Ben Myers
1063     - pcp-archive.5 man page: new, documents on-disk log format
1064     - pmdammv: fix sigsegv when no MMV tempdir is present
1065     - pmclient: updated to match the Programmers Guide examples
1066     - pmapi.py: fix python interface to pmLocaltime and pmCtime
1067     - debian: use autotools-dev to update config.{sub,guess},
1068       thanks to Logan Rosen
1069     - pmdumplog: add a -x option for extended timestamp reports
1070     - pmie: fix count_* operators with dynamic instance domains
1071     - pmie: fix fetch logic with dynamic instance domains
1072     - testsuite: ensure pcpqa account creation does not warn
1073     - testsuite: numerous new tests, updates to existing tests
1075 pcp-3.8.12 (29 January 2014)
1076     - Fix recent (3.8.10) regression for certain platforms where
1077       important PMNS files ended up not being installed.  Impact
1078       is on new installs only, not upgrades (so my QA missed it).
1079     - pmmgr: add -l (logfile) option to fix a permissions issue.
1080     - pmdalinux: fix sigsegv on certain ICMP procfs file lines.
1081     - Further improvements to pmlogger internal data structures
1082       dealing with configuration files with duplicate metrics
1083       and/or instances - improved in terms of network fetching,
1084       as well as on-disk data layout (all backwards compatible).
1085     - pmdarpm: added cumulative rpm.total.{count,bytes} metrics.
1086     - Add man pages for all of the PMDAs currently missing one.
1088 pcp-3.8.10 (15 January 2014)
1089     - Adds pmmgr(1) PCP daemon manager - a cunning new (opt-in)
1090       approach to managing farms of pmlogger and pmie processes.
1091     - Adds pmfind(1) utility for discovering advertised pmcd
1092       services (initially) on the network.
1093     - Adds a new pmDiscoverServices(3) PMAPI routine.
1094     - Linux pmda: plug memory leak in /proc/interrupts parsing.
1095     - systemd pmda: add sd_journal_process() to avoid inotify()
1096       driven spinning
1097     - Man page rework for some NAME entries, addressing SGI oss
1098       bugzilla #972)
1099     - Add notes for creating user pcp before make from source,
1100       addressing SGI oss bugzilla #1040)
1101     - Improve behavior related to Avahi service name collisions.
1102     - Dodge another hostname-does-not-resolve bullet in pmlogger.
1103     - Fix the configure check for RHEL5 rpmlib for pmdarpm.
1104     - An extensive series of spelling fixes to man pages, thanks
1105       to Michele Baldessari
1106     - Small fixes here and there from Coverity static analysis.
1107     - GFS2 pmda: add the complete set of GFS2 tracepoint metrics.
1108     - RPM pmda: make instance names unique, add rpm.name metric.
1109     - RPM pmda: reduce number of inotify events and rpmdb scans.
1110     - Add some heuristics to reduce metric duplication from tasks
1111       formed via pmlogger configuration file blocks.
1113 pcp-3.8.9 (12 December 2013)
1114     - Fix pmdalinux stack blowout during ioctl() for network
1115       interfaces.
1116     - Add a generic string cache concept for PMDAs to use when
1117       needing to perform string value de-duplication.
1118     - Add a PMDA for the RPM Package Manager exporting package
1119       metadata and state.
1120     - Fix bug in pmlogextract handling time windows and metrics
1121       with dynamic indoms.
1122     - Allow the host part of the host spec to be enclosed with
1123       square brackets - needed for IPv6 addresses in order to
1124       separate the address from the port.
1125     - Fix an Avahi and pmcd conflict when using multiple ports.
1126     - Introduce shared library symbol versioning and hidden
1127       attributes for all PCP libraries.
1128     - Reduce internal API/ABI leakage in libpcp with respect to
1129       endian code, locking code, and derived metrics.
1130     - Bring the Solaris port back up to date with latest source.
1131     - Tag temporary files created by qa tests with test prefix.
1132     - Split PCP_TMP_DIR setting into its two distinct use-cases
1133       removing the need to install world-writable-sticky-bit-set
1134       directories.
1135     - Add /proc/cpuinfo flags and cache_alignement fields (x86).
1136     - Improvements to the hinv.cpu.model metric value we export.
1137     - Ensure pmcpp does not accidentally #include directories.
1138     - Better cleanup of uncompressed temporary files in libpcp.
1139     - Correct pmdasystemd fd_set usage.
1140     - Gracefully handle missing python curses module scenario.
1141     - Improvements to pmstat error handling.
1142     - Update pmcds config file parser - cleaner quotes handling.
1143     - pcp.sh - change formatting for pmie and pmlogger details.
1144     - Unknown Host fixups in libpcp __pmHostEnt code.
1145     - Add a security philosophy section to PCPIntro(1) man page.
1146     - Dodge wchan in Linux proc PMDA if procfs file not found.
1147     - Add network.interface.hw_addr metric (exported from sysfs)
1148     - Remove a nowadays-empty config directory from installation
1149     - Resolve rpm upgrade warning from missing .NeedRebuild file
1150     - Add pmdaproc option to skip access checking, for secure /
1151       isolated environments.
1152     - Make NSS use a stronger default cipher suite.
1154 pcp-3.8.8 (3 November 2013)
1155     - Dodge Debian build issues related to kfreebsd sys/sdt.h.
1157 pcp-3.8.7 (3 November 2013)
1158     - Resolve Debian build issues related to pkg-config/Avahi.
1160 pcp-3.8.6 (1 November 2013)
1161     - Added a new Linux JDB2 PMDA (ext3, ext4, ocfs journals).
1162     - Added Linux kernel PMDA mem.util.directMap1G metric.
1163     - Rework previous fix for Debian kfreebsd port wrt probes.
1164     - Further work on Coverity scan issues, again nothing big.
1165     - Further work on removing the hostname-as-DNS-entity, add
1166       more use of pmGetContextHostName, more default-to-local:
1167       tools.
1168     - Initial support for DNS-SD via Avahi in pmcd for service
1169       discovery.
1170     - Change pcpqa to default to $PCP_VAR_DIR/testsuite as its
1171       home directory.
1173 pcp-3.8.5 (18 October 2013)
1174     - Add jsdemos for the web API into the source tarball.
1175     - Resolve Fedora/EPEL build issue for Infiniband PMDA.
1176     - Resolve Debian build issue for kfreebsd probes.h
1177     - Remove hostname checks in pmie/pmlogger script PID search.
1178     - Much work on QA.  Zero test failures on release for RHEL6,
1179       and there was much rejoicing.
1180     - Many Coverity scan issues resolved, nothing major though.
1181     - Ensure MMV PMDA entry exists in default pmcd.conf once more.
1182     - Add Linux disk.partitions metrics to the default logged set.
1183     - New hinv.nlv (logical volume count) metric into Linux PMDA.
1184     - Update pmevent to use local: as the default mechanism.
1185     - Numerous updates to the GFS2 PMDA.
1186     - Reinstate a pmcd sigsegv fix, lost in an earlier merge.
1187     - Fix handling multiple concurrent clients in pmdasystemd.
1188     - Fix memory leak in pmNewContext failure path seen via pmie.
1189     - Make default crontab install cooperate with runlevel settings.
1190     - Add a privacy-protecting pmdasystemd uid/gid-filtering mode.
1191     - Functional network.interface speed/duplex metrics on older
1192       kernels (2.6.32 vintage and earlier, for example).
1193     - Support for IPv6 address and scope metrics (ifconfig-style)
1194     - Numerous updates to the pmatop utility.
1195     - Updates to the PCPIntro(1) manual page.
1196     - Improvements to the Linux per-process metrics values for any
1197       threads being reported.
1198     - Options for restricting Linux pmdaproc to a named cgroup.
1199     - Update pmlogger to default to local: connection mode.
1200     - Allow opt-out with the default-enabled xfs and proc PMDAs.
1201     - Resolve a pmcollectl divide-by-zero (python stack trace).
1202     - Fix recursive expansion of child cgroups in Linux pmdaproc.
1203     - Fix a pmie core dump with archives, interp and mark records.
1204     - Reduce memory footprint of Linux per-process metrics.
1205     - Add proc.psinfo metrics for cgroups and security labels.
1206     - Use local: connection by default in pmatop and pmcollectl.
1207     - Update the python API wrapper to default to local: connection.
1208     - Improvements to pmcollectl host name handling.
1209     - pmGetContextHostName return to static char[] return value.
1211 pcp-3.8.4 (15 September 2013)
1212     - Allow numerous of the pmlogconf/tools templates to be probed
1213       and enabled.  These are Linux tools, so we probe for (remote
1214       possibly) Linux hosts only for these.
1215     - Numerous QA test updates, resolving small amounts of fallout
1216       from the previous release reported by Red Hat QE folks.
1217     - Updates to the Samba PMDA.
1218     - Improvements to the Debian build - remove Infiniband deps as
1219       we're not attempting to build that anymore there (evidently,
1220       poor cross platform support?  Can revisit if anyone needs it).
1221     - Remove Debian dependence on deprecated sysv rc package.
1222     - Resolve Debian packaging override disparities.
1224 pcp-3.8.3 (9 September 2013)
1225     - Split the XFS and XFS quota metrics into a separate PMDA
1226     - Optional hash-based metric table lookups for PMDAs
1227     - pmdagfs2: updates
1228     - pmlogrewrite: add support for indom replication
1229     - pmatop: Decrease screen real estate used for display.
1230     - Fix the pmdabash shell version support validation code
1231     - Add gluster PMDA into the build, really this time
1232     - Add hinv.nnode metric to pmdalinux, mirroring the IRIX metric
1233     - Add an option allowing custom pmcd.hostname settings
1234     - Implement host access checking for unix domain sockets.
1235     - Man page updates, esp. to pmcd.1 re access controls.
1236     - Add static probe support for pmcd probes (systemtap/dtrace)
1237     - Change pmGetContextHostName to be pmcd.hostname aware and thus
1238       able to report the correct remote hostname through a tunnel.
1239     - Update numerous tools to use pmGetContextHostName now.
1240     - Demonstration programs for the MMV API
1241     - Add pmdasystemd journal event count and total bytes metrics
1242     - Use -fPIC over -fpic, resolving build issues on some platforms.
1243     - Ensure Perl refcount bumped on PMDA.pm pmdacache stored variables
1244     - Fix pmie/pmlogger control scripts - bad pmproxy handling
1245     - Add a mechanism for packaging to avoid chown use, for Debian.
1247 pcp-3.8.2 (31 July 2013)
1248     - Support for the Unix domain socket transport between pmcd
1249       and client tools, using the "unix:" host specifier (and the
1250       more forgiving "local:" which falls back to localhost if no
1251       platform support exists).
1252     - Note: PCP_RUN_DIR is as a result now installed owned by the
1253       "pcp" user and group (rather than as "root").  Several other
1254       directories are also now installed "pcp"-owned too, after
1255       (unrelated) pmie and changes described below.
1256     - Support for automatic extraction of client tool credentials
1257       with Unix domain sockets, and transfer to interested PMDAs,
1258       on Linux, Mac OS X and Solaris.  IOWs, PMDAs now know which
1259       user they are acting on behalf of for each connection, when
1260       this class of socket is used.  In a future release, it hoped
1261       to make this the default local connection style.
1262     - Extensions to pmdaproc to allow it to perform access-control
1263       checking and metric value fetches as the user requesting the
1264       data, instead of as root, such that kernel-based permission
1265       checking is now performed.
1266     - Re-enabled pmdaproc by default on Linux.
1267     - pmdagfs2: updates to metrics, tests and a new manual page.
1268     - pmdagfs2: fixes for distributions without gfs2 trace-points.
1269     - pmdalinux: fix hinv.map.lvname realink memory corruption bug.
1270     - pmdalinux: fix issue where EPERM passed out as a fetch result
1271       with inaccessible filesystem paths.
1272     - pmdalinux: rework /proc/net/snmp metric extraction, added new
1273       metrics from recent kernels (checksum error counters, icmpmsg).
1274     - Linux PMDA SNMP metric type migration support (log rewriter).
1275     - pmdasystemd: correct .maxmem metric to PM_SPACE_BYTE
1276     - pmdasystemd: limit number of journald entries consumed per poll
1277     - pmdamysql: additional status metrics suitable for pmie rules.
1278     - pmdamysql: correct units and type for active connection count
1279     - MySQL PMDA metric migration support (log rewriting rules).
1280     - pmdagluster: new PMDA exporting gluster filesystem metrics,
1281       in particular fs operation latency and brick throughput data.
1282     - Fixes to the python pmda interface code to allow old python
1283       versions as well.
1284     - Extensions to python pmda interface to allow pmdaCache(3) use.
1285     - pmwebapi: support more general pcp hostname specs, and
1286       HTTP Basic authentication.
1287     - Throttle the size of the pmatop hardware component display.
1288     - Fix pmgui.py on big endian platforms (affects pmcollectl).
1289     - Further progress on the log checking tool, pmlogcheck.
1290     - Generate default pmlogger and pmie daemon configuration files.
1291     - Migrated all static pmlogger configs over to pmlogconf format.
1292     - Added pmlogconf config files for metrics used by iostat, ip,
1293       mpstat, sar, vmstat.
1294     - Install cisco PMDA pmieconf rules into the correct location.
1295     - Install default crontab entries for pmlogger and pmie checking
1296       and daily archive maintenance, on Linux, running as user "pcp"
1297       now (previously, "root").
1298     - pmlogconf scripts: added in automatic NFSv4 logging.
1299     - pmlogger scripts: better locking between check and daily
1300     - pmlogger control: add -r, -T and increase timeouts by default.
1301     - Start a working primary pmlogger with a useful and extensible
1302       set of metrics after enabling the service.
1303     - Start a working pmie with a useful and extensible set of rules
1304       after enabling the service.
1305     - Assigned new PANASAS and NVML PMDA domain numbers.
1306     - pmlogextract: fix minor bug for empty instance domains
1307     - Resolve issue where clients get sigsegv from bad -h options.
1308     - Updated pmwtf man page - better explanation for -q option
1309     - Massive, massive QA efforts, much better support for non-x86.
1310     - iostat2pcp - timestamp rework for European datetime formats.
1311     - Fixed debian bugs related to broken library symlink.
1312     - Ensure permissions on the NOTICES file allow pcp uid/gid access.
1313     - Major updates to the SASL code allowing remote authentication
1314       and improvements to username/password interaction process.
1315     - Fix SASL related memory leaks, sort out authname mapping.
1316     - Ensure SASL errors are easily identifiable as such (pmErrStr_r)
1317     - User and groups access control list support in pmcd, augmenting
1318       the existing host-based access control list support.
1319     - Fix tempfile leak in pmdaproc.sh from accidental $tmp override.
1320     - Improve the PCP experience with older versions of NSS (<=RHEL5)
1321     - Introduce pmcd self-callstack-tracing capability for the Linux,
1322       FreeBSD, and MacOSX platforms (maybe others, via backtrace(3)).
1324 pcp-3.8.1 (19 June 2013)
1325     - Add support for PMDAs written in python via pcp.pmda package.
1326     - Example implementation of pmdasimple using python.
1327     - Added new proc.{memory.vmswap,psinfo.threads} metrics.
1328     - New collectl2pcp utility and sub-package (deb/rpm) for
1329       converting historical data collected with collectl into the
1330       PCP archive format for replay and analysis with PCP tools.
1331     - Add missing help text for some Linux kernel hinv.map metrics
1332     - Added new hinv.map.lvname metric for reverse mapping logical
1333       device mapper names to physical device names.
1334     - Added new hinv.ninterface metric (pmdalinux and collectl2pcp)
1335     - Fixes to pmcollectl handling of PCP logs in archive mode.
1336     - Allow pmcollectl metrics to be sourced from a remote host.
1337     - Additional gfs2 metrics and tests, thanks to Paul Evans from
1338       the gfs2 development team at Red Hat.  This makes use of the
1339       gfs2 kernel glock event tracing to track hot locks, and also
1340       provides a storable mechanism for enabling/disabling tracing
1341       on-the-fly.
1342     - Updated access control section of pmcd.1 with IPv6 details.
1343     - Improve archive integrity checking from libpcp_import, ensure
1344       monotonic increasing timestamps presented for single archive.
1345     - Improvements to the log import perl API allowing for batched
1346       updates (out-of-order), thanks to Marko Myllynen.
1347     - Removed a low limit in the libpcp_import auto-PMID generation
1348       scheme, now allowing millions of metrics instead of hundreds.
1349     - Promote pmlogger and pmlogextract into the default PATH, with
1350       backward-compatibility preserving symlinks in PCP_BINADM_DIR.
1351     - Support for IPv6 socket communication in libpcp_pmda for pmcd
1352       PMDA communication.
1353     - Support for IPv6 socket communication testing via dbpmda.
1354     - Update man pages to reflect IPv6 support in libpcp_pmda.
1355     - Other improvements to the socket-based PMDA mechanisms.
1356     - Fix a 64bit big-endian host issue in systemd.maxmem metric
1357     - Mac OS X packaging tweaks.
1359 pcp-3.8.0 (14 May 2013)
1360     - Added the nginx PMDA, thanks to Ryan Doyle.
1361     - Fixed memory leak on an error path in profile PDU decoder.
1362     - Added pmwebd(1) - a JSON-based bridge providing web tools
1363       with access to the PMAPI (both pmcd and archives) via HTTP.
1364     - Initial support for client authentication via opt-in protocol
1365       extensions, host specification extension, communication to
1366       PMDAs via version 6 of the agent interface, dbpmda support.
1367       Uses SASL2 as the underlying technology (which provides for
1368       plugin-based extension to many authentication mechanisms).
1369     - Reworked many aspects of the python APIs - now a pcp package
1370       with sub-modules, improved error handling, and much more.
1371     - Work toward pylint(1)-clean python code throughout PCP.
1372     - Added a new python module for MMV instrumentation.
1373     - Initial work on a python module for writing PMDAs.
1374     - Added a new python module abstracting commonly needed metric
1375       Subsystems, shared by pmatop(1) and pmcollectl(1).
1376     - Added new python client tool - pmatop(1) - implementing much
1377       of the reporting functionality of atop (www.atoptool.nl).
1378     - Additional checks added to metric names allowed into the PCP
1379       Log Import library to match the PMNS man page requirements.
1380     - Support for parallel make invocations.
1381     - Improvements to the secure server code to make it work better
1382       and on more platforms.
1383     - Improvements to the IPv6 and IPv4 access control wildcards.
1384     - Migrate man pages from man4 to man5.
1385     - Resolve Fedora bug where the log import API was found to be
1386       allowing invalid metric names to be created.
1388 pcp-3.7.2 (19 April 2013)
1389     - Improved pmie propagation of metadata units.
1390     - Extra pmlogger diagnostic when log cannot be created.
1391     - Fix Debian python build dependencies.
1392     - Avoid mis-sharing outbound pmcd connections if ports do not
1393       match (libpcp).
1394     - IPv6 presence now checked at run-time as well (pmconfig).
1395     - Packaging updates - tarball, slackware, gentoo.
1396     - Add several missing man page options, typos and such, found
1397       by Red Hat (internal?) checker tools.
1398     - Added pmwtf.1 man page.
1399     - Make pmdaapache observe a connect timeout as well as its
1400       existing request timeout.
1401     - Extend pmcd access control with a global wildcard for IPv6.
1402     - Make __pmSockAddrIsLoopBack handle IPv6 loopback address.
1403     - Resolve bug in too-small pduread recv causing communication
1404       failures with secure sockets, but in theory affecting other
1405       socket transports as well.
1406     - Resolve Debian packaging and build dependency issue.
1407     - Resolve Fedora bug where pmstat fails to start when pmcd has
1408       never been started (so namespace rebuild script not yet run).
1410 pcp-3.7.1 (20 March 2013)
1411     - IPv6 addresses and wild cards for host access control.
1412     - Add packaging scripts to correctly transition active temp
1413       file directories from their old locations.
1414     - Resolve a warning from rpm %pre script on new installs.
1415     - Convert pmhostname(1) to use the newer networking APIs.
1416     - Convert pmproxy(1) to use the newer networking APIs.
1417     - Correct the pmlogger heuristics for determining whether it
1418       is running as a daemon for *both* pmlogger_{daily,check}.
1419     - Add script to handle the tmpdir transition such that folks
1420       with running parfait/mmv-instrumented applications continue
1421       to see data exported, and for correct pmlogger/pmie daemon
1422       tracking across releases.
1423     - Fix "Warning: __pmConnectRestoreFlags: cannot restore flags"
1424       messages when built with secure-sockets option disabled.
1426 pcp-3.7.0 (11 March 2013)
1427     - Added hash table iterator interfaces to libpcp.
1428     - Added PCP_SYSCONF_DIR, migrated daemon configuration there.
1429     - Fix Linux swap metrics problems, thanks to Martins Innus.
1430     - Support for IPv6 and revamped networking (libpcp-internal)
1431       APIs, in particular making proper use of getaddrinfo now.
1432     - Initial version of the NetBSD port
1433     - Secure connections are now available and documented.
1434     - Added a PCP_USER setting for globally changing the default
1435       unprivileged user account used by PCP daemons.
1436     - Resolved Debian packaging issues from previous release to
1437       do with the pcp-python subpackage.
1438     - Improve pmdaapache fetch implementation (reduced overhead)
1439     - Close up a file descriptor leak on a pmdaapache error path,
1440       thanks to Ryan Doyle.
1441     - Added the gfs2 PMDA.
1442     - Added the systemd PMDA.
1443     - Alignment issues on ia64 resolved.
1444     - Create pmlogger and pmie logdirs during install.
1445     - Added -L option to pmconfig(1) for reporting libpcp options.
1446     - Further workarounds for sar/sadf XML exporting problems.
1447     - Updates to MinGW PCP builds for native PCP on Windows.
1448     - Use initgroups() to correctly set up supplementary groups in
1449       PCP daemons that are changing user/group from root/root.
1450     - Fix memory leak on scandir failure in several PMDAs.
1451     - Correctly install the pcp user/group during Mac OS X upgrade
1452     - Allow pmdalogger to be installed on multiple platforms
1453     - Series of updates to pmie to improve action %h, %v and %i
1454       substitutions (amongst other pmie improvements and several
1455       corner-case fixes)
1456     - MySQL PMDA now re-connects after a database server re-start.
1457     - Workaround versioning issues between python and rpmbuild.
1458     - Ensure HZ is initialised in Linux proc PMDA, fixing a small
1459       regression from the earlier proc/linux PMDA split.
1460     - Fix -p option to pcp(1) command reporting pmie instances.
1461     - Add one-line help for the proc metrics that did not have it.
1462     - Change primary pmlogger control from symlink to link.
1463     - Add an interface allowing PMAPI clients to explicitly cleanup
1464       (which allows for improved accuracy in valgrind reporting).
1465     - Fix race conditions in pmie and pmlogger startup scripts.
1466     - Updates to the named (name server) PMDA.
1467     - Change __pmSetProcessIdentity to fail more resoundingly.
1468     - Fix issues with pmdashping timeouts observed on multi-core
1469       x86_64 machines related to signals interacting with pthreads.
1470     - Move debian tmpdir settings to match other distros.
1472 pcp-3.6.10 (19 November 2012)
1473     - Transition daemons to run under an unprivileged account.
1474     - Fixes for security advisory CVE-2012-5530: tmpfile flaws.
1475     - Fix pcp(1) command short-form pmlogger reporting.
1476     - Fix pmdalogger error handling for directory files.
1477     - Fix pmstat handling of odd corner case in CPU metrics.
1478     - Correct the python ctype used for pmAtomValue 32bit ints.
1479     - Add missing RPM spec dependency for python-ctypes.
1480     - Corrections to pmdamysql metrics units.
1481     - Add pmdamysql slave status metrics.
1482     - Improve pmcollectl error messages.
1483     - Parameterize pmcollectl CPU counts in interrupt subsys.
1484     - Fix generic RPM packaging for powerpc builds.
1485     - Fix python API use of reentrant libpcp string routines.
1486     - Python code backporting for RHEL5 in qa and pmcollectl.
1487     - Fix edge cases in capturing interrupt error counts.
1489 pcp-3.6.9 (12 October 2012)
1490     - Python wrapper for the pmimport API
1491     - Make sar2pcp work with the sysstat versions from RHEL5,
1492       RHEL6, and all recent Fedora versions (which is almost
1493       all current versions of sysstat verified).
1494     - Added a number of additional metrics into the importer
1495       for people starting to use it to analyse sar data from
1496       real customer incidents.
1497     - Rework use of C99 "restrict" keyword in pmdalogger
1498       (Debian bug: 689552)
1499     - Alot of work on the PCP QA suite, special thanks to Tomas
1500       Dohnalek for all his efforts there.
1501     - Win32 build updates
1502     - Add "raw" disk active metrics so that existing tools like
1503       iostat can be emulated
1504     - Allow sar2pcp to accept XML input directly (.xml suffix),
1505       allowing it to not have to run on the same platform as the
1506       sadc/sadf that originally generated it.
1507     - Add PMI error codes into the PCP::LogImport perl module.
1508     - Fix a typo in pmiUnits man page synopsis section
1509     - Resolve pmdalinux ordering issue in NUMA/CPU indom setup
1510       (Redhat bug: 858384)
1511     - Remove unused pmcollectl imports (Redhat bug: 863210)
1512     - Allow event traces to be used in libpcp interpolate mode
1514 pcp-3.6.8 (14 September 2012)
1515     - Corrects the disk/partition identification for the MMC
1516       driver, which makes disk indom handling correct on the
1517       Raspberry Pi (http://www.raspberrypi.org/)
1518     - Several minor/basic fixes for pmdaoracle.
1519     - Improve pmcollectl compatibility.
1520     - Make a few clarifications to pmcollectl.1.
1521     - Improve python API test coverage.
1522     - Numerous updates to the test suite in general.
1523     - Allow pmda Install scripts to specify own dso name again.
1524     - Reconcile spec file differences between PCP flavours.
1525     - Fix handling of multiple contexts with a remote namespace.
1526     - Core socket interface abstractions to support NSS (later).
1527     - Fix man page SYNOPSIS section for pmUnpackEventRecords.
1528     - Add --disable-shared build option for static builds.
1530 pcp-3.6.6 (28 August 2012)
1531     - Added the python PMAPI bindings and an initial python client
1532       in pmcollectl.  Separate, new package exists for python libs
1533       for those platforms that split out packages (rpm, deb).
1534     - Added a pcp-testsuite package for those platforms that might
1535       want this (rpm, deb again, mainly)
1536     - Re-introduced the pcp/qa subdirectory in pcp and deprecated
1537       the external pcpqa git tree.
1538     - Fix potential buffer overflow in pmlogger host name handling.
1539     - Reworked the configure --prefix handling to be more like the
1540       rest of the open source world.
1541     - Ensure the __pmDecodeText ident parameter is always set
1542       Resolves Red Hat bugzilla bug #841306.
1544 pcp-3.6.5 (16 August 2012)
1545     - Fixes for security advisory CVE-2012-3418
1546         o Add field validation to PCP instance PDU (Red Hat #841240)
1547         o Fix __pmDecodeInstanceReq heap buffer overflow (Red Hat #841284)
1548         o Fix __pmDecodeText heap overflow (Red Hat #841249)
1549         o Multiple issues in result PDU decoding (Red Hat #841159)
1550         o Fix __pmDecodeNameReq buffer overflow (Red Hat #841180)
1551         o Add length checks to __pmDecodeLogControl (Red Hat #841290)
1552         o Add size check to __pmDecodeIDList (Red Hat #841112)
1553         o Fix __pmDecodeNameList buffer overflow (Red Hat #840920)
1554         o Add missing __pmDecodeFetch namelen checks (Red Hat #841183)
1555         o Add length checks to __pmDecodeProfile (Red Hat #841126)
1556         o Add length checks to __pmDecodeCreds (Red Hat #840822)
1557     - Workaround for security advisory CVE-2012-3419
1558         o Split the Linux kernel and proc PMDAs to prevent information
1559           leakage in default installs - esp. /proc/pid/maps exposure,
1560           but other proc metrics as well - and no longer export process
1561           metrics by default (Red Hat #841702)
1562     - Fixes for security advisory CVE-2012-3420
1563         o Memory leak in pmcd DoFetch error path (Red Hat #841298)
1564         o Memory leak in __pmGetPDU in-band signalling (Red Hat #841319)
1565     - Fixes for security advisory CVE-2012-3421
1566         o Resolve event-driven programming flaw in pmcd (Red Hat #841706)
1567     - Correct buffer unpinning logic in a PMNS traversal error path
1568         o Red Hat bugzilla bug #847314.
1569     - All of the above issues were identified by Florian Weimer of the
1570       Red Hat Security Team, who also assisted extensively in fixing
1571       and testing; a huge thank you to Florian from all PCP developers
1572       and users!
1573     - Add modern gcc/glibc security protection mechanisms where
1574       available.  Thanks to the Frank Eigler.
1575     - Harden all boundary checking in the remaining PDU decoders.
1576     - Resolve an issue with configure script checking for the init(1)
1577       process on Fedora 17 (and other systems using systemd).  Thanks
1578       to Lukas Berk.
1579     - pmdaelasticsearch only reports on nodes in the cluster now,
1580       and not other client nodes.  Thanks to Nigel Donaldson.
1581     - Added interfaces to PCP::PMDA Perl module to allow PMDAs to
1582       use a hash instance domain (instead of int/string array).
1583       These make use of the pmdaCacheOp(3) interfaces - the hash
1584       keys are the (external) PCP instance names, and the value
1585       associated with each key is an opaque reference.
1586     - Added an interface to allow PMDAs to register event queues
1587       with existing clients (pmdaEventNewActiveQueue).
1588     - Initial version of the (experimental) bash tracing PMDA.
1590 pcp-3.6.4 (12 June 2012)
1591     - Fix build on s390x platform (thanks to Dan Horak)
1592     - Rethink order of PATH setting for pcp start scripts, to ensure
1593       binaries from other packages with names that conflict with pcp
1594       binaries are not found ahead of the same-named pcp binary.
1596 pcp-3.6.3 (27 April 2012)
1597     - Revert initial attempt at getting configure --prefix option to
1598       make sense for local developer PCP installations
1599     - Fix RPM changelog typo in in-tree spec file
1600     - Further work on Debian/kFreeBSD port (thanks to Robert Millan)
1602 pcp-3.6.2 (18 April 2012)
1603     - Fix Debian builds on FreeBSD (missing header files)
1604     - Resolve Debian startup script (compat) lintian issue
1605     - Resolve FreeBSD kernel PMDA build issue with PCP not installed
1606       in the build root already.
1608 pcp-3.6.1 (12 April 2012)
1609     - Resolve final Mac OS X pthreads build issues
1610     - Debian packaging improvements for split pmlogger/pmcd scripts,
1611       perl module pieces, and other lintian reported issues
1612     - Update the startup script dependencies for /var use
1613     - Support --prefix=... and --exec-prefix=... configure options
1614     - Relaxed the "are you running as root?" test in startup scripts
1615     - Win32 build updates and improvements
1616     - Cache /proc/stat file handle in Linux kernel agent to reduce
1617       syscalls on the most commonly fetched metric subtree
1619 pcp-3.6.0 (21 March 2012)
1620     - Thread-safe libpcp, including additional re-entrant and thread-safe
1621       variants for some routines
1622     - Retire all asynchronous routines from libpcp
1623     - Retire all V1 protocols and services (archive format, PMAPI and
1624       PMDA_INTERFACE)
1625     - PMNS moves to ASCII only (no binary PMNS)
1626     - Rework "init" scripts, splitting pcp into pmcd and pmlogger
1627     - Update elasticsearch PMDA to 0.19+, new transport and shard metrics
1628     - Updates to PMDA new event queueing interfaces for agents wishing to
1629       export that class of performance data.
1630     - First round of Coverity cleanup fixes incorporated.
1631     - Initial version of the SNMP PMDA, thanks to Hamish Coleman.
1632     - Updates to postgres PMDA to export additional recovery metrics.
1634 pcp-3.5.11 (01 December 2011)
1635     - Update FSF contact address in copyright notices to keep
1636       rpmlint happy.
1637     - Fix instance domain checks in elasticsearch PMDA.
1638     - Make KVM PMDA to run as root once more (permissions issues).
1639     - Integration of pmlogger_daily with pmlogrewrite.
1640     - Fix pmlogger_merge corner case for empty archives.
1642 pcp-3.5.10 (04 November 2011)
1643     - Support new 0.18+ elasticsearch metrics.
1644     - Fix handling of elasticsearch version metric cluster.
1645     - Fix trace PMDA build issues.
1646     - Fix some Win32 build issues.
1647     - Run with reduced privileges for more of the perl PMDAs.
1648     - Name Solaris load average metric consistently.
1649     - Small metric documentation tweaks for Solaris PMDA.
1651 pcp-3.5.9 (23 October 2011)
1652     - Add rc script support for condrestart, and condrestart the pcp,
1653       pmie and pmproxy services after an RPM install or upgrade.
1654     - Fix a bug where hinv.ndisk is incorrect if CLUSTER_PARTITIONS
1655       hasn't yet been refreshed immediately following a restart.
1656     - Implementation of client event queueing logic for all PMDAs to
1657       share (all PMDAs wishing to support event metrics, that is).
1658     - New manual pages for new PMDA event queueing interfaces.
1659     - PostgreSQL PMDA, supporting versions 9.0 and 9.1 (at least).
1660     - Reserved ID 111 for Samba Clustered Trivial Database PMDA.
1661     - Add perl interface to allow PMDAs to drop priveleges
1662     - Add an elasticsearch version metric.
1663     - Correct perl module type detection logic for 32/64-bit systems.
1664     - Small pmlogconf source and man page fixes.
1665     - Rework flex usage to resolve build warnings.
1666     - Make Darwin CPU metrics 64 bit.
1667     - Add (long) opaque key support to libpcp_pmda.
1668     - Add pmdaCacheStoreInst() routine to libpcp_pmda.
1669     - Added mssql PMDA for SQL server Dynamic Management View stats.
1670     - Add pmlogrewrite(1) to rewrite archives (fix inconsistencies).
1671     - Fix a cgroup option parsing error on consecutive fetch calls.
1673 pcp-3.5.8 (08 August 2011)
1674     - Rework rsyslog PMDA to remove Switch use, very odd behaviour
1675       observed on RHEL5.2 (mysteriously failing to compile).
1676     - Add in Kens scripting defenses against dodgey toolchains.
1678 pcp-3.5.7 (05 August 2011)
1679     - Fix build issue on SLES11 SP1 IA64 systems.
1680     - Improved rsyslog PMDA handling of queue metrics.
1681     - Add open file-descriptor count metric to the Linux PMDA.
1682     - Implement logger PMDA line-oriented event mode.
1683     - Add regular expression based event filtering in logger PMDA.
1684     - The default pmcd.conf now has an access control section, and
1685       all remote store operations are blocked by default.
1686     - Improve packaging of Perl components.
1688 pcp-3.5.6 (21 July 2011)
1689     - Fix warning from pmie_daily with some /bin/pwd versions.
1690     - Numerous Debian packaging updates for lintian cleanliness.
1691     - Fixed typos in several man pages.
1692     - Added ElasticSearch PMDA.
1693     - Fix build on RHEL4 with older sys/queue.h variant.
1695 pcp-3.5.5 (6 July 2011)
1696     - Resolve Debian packaging issues preventing new uploads.
1697     - Fix warnings from pmie_check with some /bin/pwd versions.
1699 pcp-3.5.4 (6 July 2011)
1700     - Fix warnings from pmlogger_check with some /bin/pwd versions.
1702 pcp-3.5.3 (6 July 2011)
1703     - Remove reliance on a cpp binary being installed locally with
1704       new pmcpp applicaton.
1705     - Ensure compressed pmie log files are also cleaned up daily.
1706     - Extend the event store mechanism to be more generally useful.
1707     - Add memory limiting functionality to pmdalogger.
1708     - Add SQLServer metric for user settable queries.
1709     - Fix potential sigsegv in pmprobe fetching multiple live values.
1710     - Perl changes for Solaris.
1711     - Fix Fedora15 build relating to handling of systemd.
1712     - Solaris pmda zpool_vdev_name() api change.
1713     - Update sar2pcp for sysstat version 9.1.7.
1714     - Resolve realloc issue in event metric handling in libpcp_pmda.
1716 pcp-3.5.2 (3 June 2011)
1717     - pmlogreduce - fix 2 problems (memory leak, additional mark records)
1718     - Initial version of pmdalogger, from David Smith, a log monitoring
1719       PMDA exporting event metrics.
1720     - Make Windows drive instance domain code less chatty.
1721     - RC scripts and pmie_check - Mac OS X porting
1722     - pmlogger_check - symbolic link issue fixed
1723     - Add in the rsyslog PMDA (http://www.rsyslog.com)
1724     - Extend PCP::PMDA so that the log tail mode can be used on named papes.
1725     - Numerous updates to the Perl packaging infrastructure
1726     - Fix build when $HOME is not set.
1727     - pmlogconf - another non-posix awk issue fixed
1728     - Darwin pmda - filesys.maxfiles metric
1729     - pmie_daily - assorted minor fixups
1730     - Unix domain socket issue found on Mac OS X
1731     - pmcd config parsing error handling cleanup
1732     - Quieten pmevent output in the absence of new events.
1733     - Pass process ID out on success of __pmProcessCreate.
1734     - pmdaproc.sh - add PMDA_INTERFACE_5 support
1735     - pcp_completion.sh - add pmevent for bash metic completion
1736     - pmevent - add instance domain support
1737     - Bugfix: fetching hinv.cpu.* aborts if cpu indom is not initialized
1738     - Rearrange the per-CPU intr metrics on Linux to use dynamic namespace
1739     - Add perl modules into Mac OS X installations
1740     - Additional vmstat metrics added to Linux kernel PMDA
1741     - Fix pmieconf after syscall metrics went away on Linux
1742     - pmevent - new util to report event records, with instance domain support
1743     - sample PMDA - instance domain for event records metric
1744     - pmval, pminfo - man page typo corrections
1745     - pmval - fix typo in error message
1746     - pmlogextract, pmlogreduce - auto volume switch at 2^31 bytes
1747     - pmnscomp - defaults to Version 2 of the compiled PMNS
1748     - Remove unconditional diagnostic in MMV agent, log spam
1749     - Rework the code that uncompresses archives for Win32
1750     - Updates to Win32 makefiles to get a clean package build
1751     - Enable compressed log processing for Windows as well
1752     - Sample event consumer code for Windows ETW
1753     - Update PDH Win32 headers to use those from current mingw-m64 tree
1754     - Win32 socket error messages are reporting correctly
1755     - Great strides in getting error reporting correct on Windows
1756     - Add Win32 pthread wrapper for threading work on Windows
1757     - Add PowerDNS recursor stats to the pdns PMDA
1759 pcp-3.5.0 (31 January 2011)
1760     - Infrastucture support for doing distributed event tracing with PCP.
1761       This includes a new metric type (PM_TYPE_EVENT), cunning mechanisms
1762       for encoding event records in pmResults, and providing PMDAs with
1763       per-client context connection information allowing agents to track
1764       which clients have seen which parts of a trace stream so far.  Some
1765       reference uses of these extensions can be seen in pmdasample and in
1766       the pmcd PMDA as well.
1767     - Transparent support for archive de-compression by clients.
1768     - Manual page formatting errors corrected.
1769     - Fix a pmDupContext memory corruption issue seen with derived metrics.
1770     - Added a one-trip optimisation/guard to pcp.env
1771     - Improved pmdaFetch and pmdaFetchCallback man pages with respect to
1772       return codes and value memory allocation models.
1773     - Fix for Windows unintentionally allowing multiple pmcd processes
1774       to startup and bind to the same port, with "undefined" results.
1775     - Fix Windows services interaction, preventing pmcd service stop.
1776     - Fix Mac OS X scandir memory leak on empty directories.
1777     - Fix Mac OS X mem.util.wired metric, was exporting the wrong value.
1778     - Correct the handling of SLES11 distro identification (lsb-release
1779       file not used again, on SuSE Linux distributions).
1780     - Fix postfix PMDA log file path handling for Redhat Linux distros.
1781     - Extend Perl PMDA interfaces to allow additional metrics to be
1782       added at runtime (now makes use of dynamic namespace support).
1783     - Set KEEPALIVE option on pmproxy client sockets, mirroring pmcd
1784       behaviour and reducing open file descriptor pressure.
1785     - Improvements to the native Windows version of pmlogger, preventing
1786       it from exiting prematurely thanks to a socket read race condition.
1787     - Fix /proc/interrupts parser in Linux PMDA, thanks to Arthur Kepner.
1789 pcp-3.4.1 (9 October 2010)
1790     - Remove bogus (expected) errors/warnings from Win32 install/remove.
1791     - Remove couple of no longer needed local Win32 API wrappers.
1792     - Fix rindex code for Win32 so it handles empty strings.
1794 pcp-3.4.0 (29 September 2010)
1795     - Add new libpcp_import C API library to pcp-libs.
1796     - Add perl-PCP-LogImport RPM sub-package for libpcp_import perl binding.
1797     - Add pcp-import-* RPM sub-packages containing front-end tools for
1798       importing data from sar, iostat, generic speadsheets and mrtg.
1799     - Major Solaris PMDA updates: CPUs, vnode ops, disk stats and disk queue
1800       stats, switch to using pmid clusters, internal timers, ZFS Adjustable
1801       Replacement Cache stats, new help text, memory metrics, fsflush stats.
1802     - Use Solaris devinfo to get information about pretty disk names.
1803     - Fix a memory leak in Perl PMDA wrapper string handling.
1804     - Use correct structure to extrace zpool write counters in Solaris PMDA.
1805     - pmafm now supports multiple -a arguments.
1806     - Fix pmie multiple -a options bug.
1807     - Fix pmdaInit() callback handling where it did not handle all the
1808       interface versions correctly.
1809     - Quote filenames reported by pmwtf, else awk can get confused.
1810     - Fix pmdawindows missing metrics help text.
1811     - Add network interface speed metrics into pmdawindows.
1812     - Fix pmdalinux handling of long network interface names.
1813     - Updated pmdaapache to use cross-platform http library.
1814     - Updated pmdaapache install process to allow port selection.
1816 pcp-3.3.3 (16 July 2010)
1817     - Fix two off-by-one errors in NUMA metrics in Linux PMDA.
1818     - Rework timezone environment variable handling to be able to
1819       coexist more peacefully with Perl.
1820     - Remove Fedora specfile now that this is in Fedora CVS.
1822 pcp-3.3.2 (10 July 2010)
1823     - Fix FreeBSD build and packaging issues affecting Debian.
1824     - Move PCP::Glider Perl code into core PCP with other Perl modules.
1825     - Avoid a mingw64-compiler-runtime bug in gettimeofday.
1826     - Fix spec file issue in Fedora/RHEL builds.
1827     - Add in the gpsd PMDA.
1829 pcp-3.3.1 (29 June 2010)
1830     - Fix a sigsegv in pmdalinux in the kernel.pernode.cpu metrics.
1831     - Don't kill dbpmda if namespace cannot be loaded.
1832     - Resolve a Windows build error under latest toolchain.
1833     - Some minor pmieconf and pmimport related cleanups.
1835 pcp-3.3.0 (25 June 2010)
1836     - Rework pmlogconf utility - version 2.0 ondisk format.
1837     - Initial support for Linux kernel cgroup subsystem, using dynamic
1838       metrics (cpu sets, cpu sched, cpu acct, memory, ...)
1839     - Fix per-process I/O (proc.io.*) metric values.
1840     - Fix potential SEGV in derived metrics when pmcd connection lost.
1841     - Fix to allow pmlogger to log derived metrics.
1842     - Fix open file descriptor leak in Linux disk scheduler code.
1843     - Postfix PMDA updated to report aggregate stats from mail.log parsing.
1844     - Add per-node CPU metrics to Linux kernel agent.
1845     - Integrate pmieconf into the build, modernisation and porting work.
1846     - Add install-sh to the set of pcp-internal programs for external code.
1847     - Improved checking of PMDA domain numbers.
1848     - Allow use of SunStudio compiler on Solaris.
1849     - Add load average metrics to Solaris kernel agent.
1850     - Windows 7 porting work.
1851     - Make Win32 build work with more recent versions of gcc and Perl.
1852     - Fix pmie [no]match_inst botch, tweak sleepTight reporting.
1853     - Allow \$ for pmie regular expressions.
1854     - Ensure pmlogger doesn't write extended pmcd host syntax as hostname.
1855     - Switch over to not using local context for bash completion.
1856     - Improve Lustre agent metric help text.
1857     - Added a readonly filesystems metric into Linux kernel agent.
1858     - Ensure xfs.buffer metrics are always properly refreshed.
1859     - Add Linux kernel statistics related to XFS btree operations.
1861 pcp-3.2.1 (3 May 2010)
1862     - Export information about ZFS snapshots
1863     - Correct accounting of PMNS size in a libpcp_pmda helper routine.
1865 pcp-3.2.0 (29 April 2010)
1866     - Change how PM_CONTEXT_LOCAL determines available PMDAs:
1867       rework local context code to retire $PMDA_LOCAL_*, build DSO table
1868       from pmcd.conf at run-time, new __pmLocalPMDA and __pmSpecLocalPMDA
1869       routines in libpcp, -K options for pminfo, pmval and pmprobe.
1870     - Make some pmda dynamic name operations take (const char *) args.
1871     - Fix bash completion so dynamic names expanded, and stderr culled
1872       (culling DSO agent initialisation messages).
1873     - Improve pmlogger handling of alias names (same PMID, different names).
1874     - Honour the -T command line option in pmlogreduce.
1875     - Resolve an MMV issue evident in the Mac OS X installer, which resulted
1876       in failed dmg (binary) installation attempts.
1877     - Solaris startup script improvements.
1878     - Add details of the extended hostname syntax to pcpintro(1).
1879     - Fix a memory leak in pmdawindows help text handling.
1880     - Fix a memory leak in pmdammv help text handling.
1881     - Add anonymous huge page Linux memory utilisation metric.
1882     - Fix local context reporting of help text.
1883     - Solaris man page build changes.
1884     - Clean up diagnostic messages in pmlogextract.
1885     - Teach pmdaproc about Solaris' ping.
1886     - If pmstat fails to connect to local pmcd, fallback to local context.
1887     - Mark as const the final (requested units) pmConvScale argument
1888     - Clean out SGI-isms from build related files (no longer used by SGI).
1889     - Fix mem.numa.util.NFS_Unstable metric.
1890     - Removed pmdajstat, this has long been superceded by the capabilities
1891       of the Parfait package for instrumenting Java applications with PCP.
1893 pcp-3.1.2 (22 March 2010)
1894     - Add indom save and restore logic into Windows PMDA.
1895     - Fix a typo in the Postfix PMDA.
1896     - Update and extend /proc/meminfo stats on Linux.
1897     - Improve handling of monitored process in pmdammv, especially
1898       when the monitored process exits (pmns not cleaned up before).
1900 pcp-3.1.1 (23 February 2010)
1901     - Use a better MMV generation number, using all bits available.
1902     - Fix a metric count calculation error in pmdammv.
1903     - Add precision argument (-p) to pmwtf.
1904     - Added an open socket sockname command to dbpmda.
1905     - Remove use of grep -q, unavailable on OpenSolaris.
1906     - Couple of trivial build fixes for the Win32 platform.
1908 pcp-3.1.0 (28 January 2010)
1909     - Derived metric support.
1910     - Fix a memory leak in the Solaris kernel PMDA.
1911     - Extract information about network links on Solaris.
1912     - MMV PMDA (DSO) is now installed and enabled by default.
1913     - Reintroduced MMV support for cross-(mmap-)file instances.
1914     - Bug fix in pmdammv which was capable of causing SIGSEGV.
1915     - Add dbpmda readline support (and packaging dependencies).
1916     - Add in -Z option to pmwtf, to pass through to pmlogsummary.
1917     - Export NUMA memory statistics from the linux kernel.
1918     - Make pmie_check work on Solaris.
1919     - Make perdisk stats part of the zpool hierarchy.
1920     - dbpmda fix for name lookup and dynamic metrics.
1921     - Add a new PMDA exporting the Postfix queue lengths.
1922     - BuildRequires initscripts for %{_vendor} == redhat.
1924 pcp-3.0.2 (2 December 2009)
1925     - Improvements and fixes to PCP::PMDA perl module.
1926     - Added the SQL Server dtsrun log file parser PMDA.
1927     - Switch MMV PMDA to use dynamic namespace interfaces, which resolves
1928       long-standing spurious EAGAIN error on reconfiguration.
1929     - Separate out the Infiniband and cluster PMDAs into their own
1930       package - removing dependencies and configure complexities from
1931       pcp into specialised, layered packages.
1932     - Configure packaging to use libexecdir for private pcp binaries,
1933       if supported on the platform (also honour --libexecdir configure flag)
1934     - Add sysfs.kernel metrics cluster to Linux PMDA.
1936 pcp-3.0.1 (19 October 2009)
1937     - Reverted rc scripts default start/stop settings back to how
1938       it was in 2.9.3-1, for Debian bug #544350. On Red Hat platforms,
1939       the RPM spec overrides this to be chkconfig off by default.
1940     - Lexical analyser tweaks (various tools) to work on Windows.
1941     - pmlogextract change timezone selection algorithm, add -f for old behaviour
1942     - configure.in clean up more thoroughly on Mac OS X
1943     - Get pcp building on Debian GNU/kFreeBSD port.
1944     - Add missing return statement causing incorrect mem.util on Win32.
1945     - Improved support for Slackware distro makepkg packaging
1946     - Solaris fixes: pass information about compiler into Perl PMDA makefiles,
1947       don't change pointer types of pmCtime's arguments, deal with default lex
1948     - Move Infiniband and Cluster PMDAs to a stand-alone packages
1949     - Trim the set of RPM files marked as %config to just those
1950       that are actually likely to be edited (rpm -qlcv pcp pcp-libs).
1952 pcp-3.0.0 (9 October 2009)
1953     - PMDA_INTERFACE_4 and the support of dynamic subtrees of the PMNS
1954       where the PMDA (not PMCD) maintains knowledge of the PMNS.
1955     - RPM packaging split into pcp, pcp-libs and pcp-libs-devel
1956       pcp-libs is common - it's required by pcp and by pcp-libs-devel but
1957       pcp and pcp-libs-devel can be installed with or without each other.
1958     - Added separate specific licenses for the new subpackages,
1959       particularly pcp-libs, which is LGPL.
1960     - Added ldconfig %post and %postun scriptlets for -libs
1961     - Don't explicitly require Infiniband libs, since they're libs and RPM
1962       figures it out
1963     - No need to explicitly BuildRequire gcc-c++ libstdc++-devel
1964     - Add BuildRequires on perl-ExtUtils-MakeMaker
1965     - Remove explicit ia64 Requires: libunwind
1966     - Preserve generated gram.tab.c in several places since debuginfo needs it
1967     - Create %{_localstatedir}/run/pcp and ship it (so it'll be removed)
1968     - Use %doc in spec for CHANGELOG COPYING INSTALL README VERSION.pcp pcp.lsm
1969     - Tweak configure to move PCP_BINADM_DIR out of /usr/share, into /usr/lib.
1970       Arch dependent binaries should not be installed below /usr/share.
1971     - Delete unneeded "explicit script interpreter" in several places
1972       to keep rpmlint happy
1973     - Remove setuid from pmpost, not needed (and not in debian either)
1974     - Nuke the migrate_pcp_var_dir, script and it's %post scriptlet
1975     - Default "chkconfig off" for all PCP services (retain settings on upgrade)
1976     - Clean-up and simplify the %post scriptlets (rather dramatically)
1977     - Don't ship static libraries in Fedora, we have the debug package for that
1978     - Install .NeedRebuild, add to %files and remove crud from %post scriptlets
1979     - Added %changelog in RPM spec and moved %files to end before %changelog
1980     - Move demos, examples and demo PMDAS to the libs-devel package since they
1981       are not used for production (but are useful for devel and needed for QA).
1982     - Don't install trace demo binaries since src is installed anyway
1983     - Reconciled build/rpm/pcp.spec.in with build/rpm/pcp_fedora.spec
1984     - Integrated RPM packaging support for perl-PCP-PMDA and perl-PCP-MMV
1985       (but perl-PCP-Logsummary is not currently shipped in RPM packages)
1986     - RPM build requires perl(ExtUtils::MakeMaker) rather than
1987       perl-extutils-makemaker (this is the standard notation)
1988     - For easier upgrades, the perl PMDAs only really require pcp >= package
1989       version (until we change or extend an API).
1990     - ReplacePmnsSubtree fix bad signal handling botch (affecting MMV PMDA)
1991     - Fix pmcd.timezone metric such that value updates on daylight savings
1992       (or other timezone) changes.
1993     - Initial packaging work for Slackware Linux, thanks to Roman Revyakin.
1995 pcp-2.9.3 (23 September 2009)
1996     - configure.in fix for Windows iptypes.h header.
1997     - Fixup Windows SQL Server metrics on 64 bit platforms.
1999 pcp-2.9.2 (7 September 2009)
2000     - Final iteration on pmval sample count changes.
2001     - Build fallout on Mac/Win32 in MMV client library.
2002     - Tidy configure.in sys/stat time field/types handling for Alpha builds.
2004 pcp-2.9.1 (2 September 2009)
2005     - Fix a long-standing pmval sample count miscalculation.
2006     - Add missing runlevels and dependencies in start scripts.
2007     - Fix a segv observed in the Windows PMDA accessing SQL Server metrics.
2008     - Fix logic error causing wrong Windows version to be reported sometimes.
2009     - Add kernel.all.uptime to the Windows kernel agent.
2010     - Initial version of the (perl-based) Samba PMDA.
2011     - Fixes to pmdasimple.pl so it functions correctly on all platforms.
2012     - Add PCP::PMDA helper routines for determining native long sizes.
2013     - Extend MMV to allow teardown of MMV file, and set errno on failure.
2014     - Initial stable (1.00) version of MMV Perl interface.
2015     - Correct the metric units for several Windows per-process memory metrics.
2016     - Add network metrics to Solaris PMDA
2017     - Report ZFS statistics from Solaris PMDA
2018     - Export zpool stats from Solaris PMDA
2019     - Generate packages for Solaris
2020     - Allow user to choose her compiler (proper use of AC_PROG_CC)
2022 pcp-2.9.0 (27 July 2009)
2023     - Fix Linux PMDA issue with -fstack-protector gcc option.
2024     - Get socket daemon PMDAs working with Win32 pmcd.
2025     - Bind 9.4 PMDA.
2026     - PowerDNS PMDA.
2027     - Fix atexit handling in the Perl PMDA module.
2028     - Fix a duplicate PMID in the MySQL PMDA.
2029     - Infiniband PMDA improvements and man page.
2030     - Minor packaging tweaks for rpm and deb formats.
2032 pcp-2.8.12 (8 July 2009)
2033     - Bug fixes in Zimbra and MySQL PMDAs.
2034     - Fix memory leaks in the Perl PMDA interface.
2035     - Fix the Mac OS X pmdadarwin metric table direct mapping.
2037 pcp-2.8.11 (6 July 2009)
2038     - Rework namespace file generation for Perl PMDAs.
2040 pcp-2.8.10 (1 July 2009)
2041     - RPM packaging fixes for Perl modules.
2043 pcp-2.8.9 (1 July 2009)
2044     - Remove Cygwin support, we're now committed to native Win32
2045       port - first production install yesterday, hooray!
2046     - Further Win32 work - wrapper batch files for shell scripts
2047       run as commands, moved daemon configs into $PCP_DIR/etc,
2048       bug fixes to process creation code.
2049     - Significant work on the MMV PMDA, including revamped API,
2050       Perl API, updated on-disk support with string values and
2051       help text support, amongst other changes.
2052     - Fix build of Perl PMDA module when PCP not installed.
2053     - Fix Zimbra PMDA status metrics.
2055 pcp-2.8.8 (9 June 2009)
2056     - Added a Zimbra Collaboration Suite PMDA.
2057     - Build fixes for OpenSolaris.
2058     - Perl PMDA fixes in tail mode.
2059     - Correct physical memory reporting in Windows PMDA on 32 bit
2060       machines.
2061     - Other small tweaks and improvements to Windows PMDA also.
2063 pcp-2.8.7 (29 May 2009)
2064     - Windows PMDA major rework to improve memory footprint.
2065     - Yet another Mac OS X build issue resolution.
2067 pcp-2.8.6 (26 May 2009)
2068     - Fix build on Mac OS X after lex warning cleanups.
2069     - Fix pmdate build when PCP headers not in the root.
2070     - A single PMNS domain number file now used in-tree.
2071     - Added tmpfs filesystem metrics to Linux PMDA.
2073 pcp-2.8.5 (21 May 2009)
2074     - Packaging tweaks for Debian (builddefs/rules moved).
2075     - Make timezone manipulation in Windows work (mimic MSYS).
2076     - Numerous warnings fixed.
2077     - Several changes to tempfile handling for Vista.
2078     - Make setting pcp_rc_dir in configure.in more robust.
2079     - Further pathname separator auditing for Windows.
2080     - Fixed a libpcp_gui linker issue on Mac OS X.
2082 pcp-2.8.4 (12 May 2009)
2083     - Descend into src/bashrc.  D'oh!
2085 pcp-2.8.3 (11 May 2009)
2086     - Bash auto-completion of metric names.
2087     - Fix a memory leak in xfs project quotas metrics.
2088     - Several Win32 fixes for Windows Server 2008.
2089     - Add Linux per-CPU and aggregate "guest" CPU utilisation metrics.
2090     - Add a pmlogsummary option to report a "header" line (-H).
2091     - Add optional pmstat support for time control via pmtime.
2092     - Add pmcd.client.* metrics for identifying connected clients.
2094 pcp-2.8.2 (24 April 2009)
2095     - Fix pmie bug in the handling of && and || operators.
2096     - Improve daily pmie/pmlogger script behaviour.
2098 pcp-2.8.1 (19 April 2009)
2099     - Fix build issue with libpcp_mmv - would not build-from-source
2100       if <pcp/pmapi.h> was not in the root filesystem.
2101     - Finer control of pmie2col(1) reporting precision.
2103 pcp-2.8.0 (9 April 2009)
2104     - Linux netfilter (IP connection tracking) PMDA included
2105     - Memory Mapped Value (MMV) PMDA and client library included
2106     - Linux bonding (bonded network interface) PMDA included
2107     - Lustre PMDA included
2108     - Added pcp_gui library as pcpmon replacement, supporting the
2109       new (open source) version of pmtime for console tools.
2110     - Perl PCP::LogSummary module included.
2111     - KVM (Linux Kernel Virtualisation layer) PMDA
2112     - Infiniband PMDA included
2113     - VMware PMDA included
2114     - Perl PCP::PMDA module completed, stabilised and incorporated.
2115     - Default pmcd and pmproxy ports changed to IANA registered ones.
2116       ( The old behaviour - i.e. both original and IANA ports - is
2117       still available using PMCD_PORTS and PMPROXY_PORTS variables ).
2119 pcp-2.7.7 (5 September 2008)
2120     - Infiniband metric enhancements
2121     - Handle missing "which" binary during rpm installation
2122     - Added new quota metrics (XFS project quota)
2123     - Aggregate and per-CPU hypervisor "steal" time metrics added
2124     - NFS v4 metrics
2125     - commitLimit meminfo metric added
2126     - Namespace locking fix in pmdaproc.sh
2127     - Additional Windows memory metrics
2128     - Several pmie fixes from Ken
2129     - Kens pmlogreduce archive corruption fix
2130     - Kens pmproxy PDU size fix
2131     - Nathan's pmlogsummary sum calulation fix
2132     - Added a (cheap) runnable processes metric.
2134 pcp-2.7.4 (7 September 2007)
2135     - MaxOSX and Debian/Ubuntu build/package fixes
2136     - Add sqlserver active_transactions metrics to the Windows PMDA.
2137     - Fix a pmie_check typo causing mis-identification of pmie processes.
2138     - Allow pmie and/or operators to function with some data missing.
2139     - Resolve path naming issues with more recent versions of autoconf.
2140     - pmlogsummary report sum option
2141     - pmval kmtime support
2142     - Additional Linux SNMP metrics
2143     - Fix Linux vmstat nr_slab metrics
2144     - Make pcp status command report build version
2145     - Windows split_io metrics
2146     - Fix pmdapmcd empty pmie instance
2147     - pmdamailq filename regex
2148     - Windows TCP metrics
2149     - pmie log file rotation
2150     - Changed the default compression program to be bzip2(1)
2152 pcp-2.7.3 (July 2007)
2153     - add network.ib.control to timeout infiniband stats workthread
2154     - add mem.util.anonpages 
2156 pcp-2.7.2 (8 Jun 2007)
2157     - pcp doc updates
2158     - pmdalinux death from open file descriptors: pclose needed in network.ib
2159     - network.ib stats updated to cope with OFED 1.2 changes
2160     - some numa.link fixes for shub2 & NL4
2161     - Improve start/stop times of pmcd,pmlogger,pmie
2162     - create portable pmsleep (subsecond sleep) exe
2164 pcp-2.7.0 (7 Feb 2007)
2165     This log has been allowed to lapse for some time. Blanket catch-up..
2166     the following PVs describe changes made in that time:
2167     - 947510 - UNIX95 patches break pcp tools
2168     - 948548 - [SUSE#182852] Buffer overflow in linux proc_pmda
2169     - 948551 - Update pcp configure and build infrastructure
2170     - 948799 - Move telnet-probe to oss part of pcp
2171     - 948958 - *nodeid conversions have inconsistent naming
2172     - 952623 - possible use-after-free of pmProfile objects used by pmda
2173     - 952932 - pcp-open RPM requires libpcp.so.2 but doesn't provide it
2174     - 953015 - Promote libpcp_pmc to DSO
2175     - 953301 - Update irix pcp bits
2176     - 953876 - Use swap.pagesin/pagesout instead of swap.in/.out in pmstat
2177     - 954035 - Update macosx build infrastructure
2178     - 954165 - pmdumptext reports wrong time with sub-second intervals
2179     - 954173 - pmReceiveNamesOfChildren returns bogus value
2180     - 954203 - pmnscomp generates bogus binary pmns files
2181     - 954342 - Add support for FreeBSD
2182     - 954343 - Update windows pmda
2183     - 954432 - Use a pidfile to stop pcp
2184     - 954652 - telnet-probe ate my arguments
2185     - 954842 - Update qa on sles10 for pcp 2.5 and 2.6
2186     - 956190 - add IB traffic stats to linux PMDA
2187     - 956199 - pmlogsummary double free causes graph failures
2188     - 957598 - add debuginfo to pcp-open build in mangrove
2189     - 957758 - valgrind finds "invalid read of size 8" etc in __pmStuffValue
2190     - 957884 - need network.ib.status for per-port IB status and description
2191     - 958273 - If OFED is installed but no ports are found, return PM_ERR_VALUE from refresh_ib
2192     - 958379 - IB PMDA broken (port num appearing twice in perfquery calls)
2193     - 958476 - path to pmie_check binary incorrect in pmie crontab config file
2195 pcp-2.5.0-2 (15 Jan 2006)
2196     - 947602 - pmdas/aix/common.h is missing from the tarball
2198 pcp-2.5.0-1 (ProPack4/SP3)
2199     - 942325 - bump to version 2.5.0-1
2200     - 936279 - pminfo -f hinv.machine gives 'linux'. Now scans for the
2201       SGI hardware IP number from /proc/sgi_prominfo/node0/version
2202       and exports that if found.
2203     - 936795 - tool to aid PMDA development, see genpmda(1)
2204     - 941663 - pmdaInstance broken for name == NULL and inst != PM_IN_NUL
2205     - 939448 - pcp rc script needs better handling of .NeedInstall
2206     - 857601 - pmview-args uses long lines in value/instance caches
2207     - 942030 - Improve efficiency of instance cache in libpcp_pmda
2209 pcp-2.4.1-2 (ProPack4/SP2)
2210     - bug:928986 support slabinfo v2.1 and earlier for recent 2.6.11 kernels
2211     - bug:930708 fix linkstats bandwidth measurements (in pcp-sgi package)
2212     - rfe:924904 add fixed format support for numbers reported by pmval
2213     - bug:928021 correct handling of -S and -T options when resultant time
2214       window is empty
2215     - bug:929411 tighten integrity checking in libpcp routine
2216       pmGetArchiveEnd() to avoid possible segv
2217     - bug:930467 fix fd leak on error path in __pmLogFindLocalPorts()
2218       within libpcp
2219     - rfe:932180 document pmval -i option syntax
2220     - bug:925858 add disk.{dev,all}.{read_merges,write_merges}
2221     - bug:931699 added mem.util.other back in, see help text for details
2222     - bug:931698 added mem.util.cache_clean, see help text for details
2223     - bug:933668 support netif names longer than 6 characters 
2224     - bug:935490 fix pmcd exposure to attack from malformed PDUs
2225     - bug:924909 excise all usage of file(1) and reliance on its "magic"
2226       control file ... the old way cannot be made reliable in on all
2227       platforms
2228     - bug:929411 tighten tests for valid but truncated archives so
2229       pmGetArchiveEnd() no longer dumps core
2230     - add pmdumptext (and the metric class library libpcp_pmc) to
2231       the open source release
2232     - bug:935071 fix metrics broken by bug:925858, deprecate support
2233       for disk stats collected from /proc/stat (linux 2.2 kernels).
2234     - bug:934913 pmdumptext and libpcp_pmc migrated to open source
2235     - bug:934332 change save/free profile logic in __pmdaMainPDU() to
2236       avoid memory leaks
2237     - bug:934333 fix memory leak in __pmdaMainPDU() associated with
2238       instance names
2239     - bug:936975 merge pmcd.conf with pmcd.conf.rpm{new,old,save} so that
2240       foreign (non-pcp) PMDAs will continue to be configured correctly.
2241     - bug:937241 update toplevel GNUmakefile to work with modern autoconf.
2242     - bug:937243: tg3 pmda doesn't see unconfigured interfaces on sles9
2243     - bug:936506: added new cache functions to libpcp_pmda to make it
2244       much easier to implement persistent instance domains. Rolled from
2245       libpcp_pmda.so.2 to libpcp_pmda.so.3, retained symlink for v2.
2246       Converted proc_net_dev and proc_partitions in the linux PMDA to
2247       use the new pmdaCache functionality, see pmdacache(3).
2248     - refine pmcd's handling of SIGINT and SIGTERM to use sigaction() and
2249       try to report the details of the process terminating pmcd
2250     - added the summary PMDA to the open source distribution, to provide
2251       high-level summary of system activity for large machines or large
2252       clusters of machines.
2253     - bug:939275 pmstat output format does not scale for large systems
2254     - bug:939284 correct man page source and packaging to ensure all of
2255       the man pages are in the correct package, and will be correctly
2256       indexed once installed
2257     - bug:861705 add pmproxy to support pmcd protocol proxying for
2258       clusters with head nodes and for monitoring through a firewall
2259     - rfe:919678 added new tool (pmie2col) to convert pmie -v output
2260       into pretty multi-column format
2261     - bug:939467 pcp needs to explicitly provide libpcp_pmda.so.2
2262     - 940865 - network security probe crashes pmcd
2264 pcp-2.4.0-7 (with ProPack4/SP0)
2265     - bug:919901 cisco PMDA confused by Description: line containing '>'
2266     - bug:920140 inapppropriate glob expansion of "disallow * : all;"
2267       in pmcd.conf after PCP upgrade from pcp-2.3.2 to version 2.4.0
2268     - bug:913157 "proc.runq.swapped shows 0 in this state" - updated help
2269       text for linux PMDA to indicate that kernel threads are not
2270       counted in the "swapped" tally.
2271     - bug:918205 fix build issues in SuSE, disallow install-sh ambiguity
2272     - bug:921103 correct build issues for SuSE
2273     - bug:923770 ProPack 4 pmieconf on Oct 22 image wont start
2274     - bug:923777 reconcile changes made to PCP in SLES9 by SuSE
2275     - bug:924714 remove disk.xvm metrics. Now handled by xvm PMDA.
2276     - bug:923732 added new mem.util metrics from /proc/meminfo for 2.6 kernels
2277     - bug:925627 instance domain for proc metrics now includes PNTL threads
2278     - bug:924909 excise all references to file(1) and the "magic" file
2279     - bug:925865 cleanup makefiles for more consistent modes and remove
2280       replicated or questionable directory creations
2281     - assorted rework to support SLES9 and RH Fedora Core 2 Linux
2282       distributions
2283     - clean up of Mac OS X port, including additional O/S metrics
2284     - bug:923773: new metrics mem.vmstat from /proc/vmstat for 2.6 kernels
2285       This also fixes swap.{pagesin,pagesout,in,out}, which have been
2286       deleted from /proc/stat
2287     - rfe:926192 add -u option for pmlogger(1) to force unbuffered writes
2288       (useful when applications monitoring a growing archive)
2289     - rfe:912895 Add pmlogreduce(1) to perform statistical reduction
2290       of PCP archives over the temporal domain by increasing the sample
2291       interval and greatly reducing the size of long-term archives
2293 pcp-2.4.0-1 (5 Aug 2004)
2294     - Installation layout changed to conform to FHS on platforms
2295       where this is appropriate:
2296             Old         New
2297             /var/pcp    /var/lib/pcp
2298             /usr/doc    /usr/share/doc/pcp
2299     - bug:916484: %post script to migrate /var/pcp to /var/lib/pcp
2300       and bump to PCP 2.4.0.
2301     - bug:916657 mem.util.* metrics were incorrectly exported when zero
2302     - add demo program procmemstat to report per-process memory usage
2303     - Add Mac OS X support - port libraries, collection and logging
2304       infrastructure, provide Mac OS X PMDA.  Target is Mac OS X 10.3.
2305     - Add Windows support - port libraries, collection and logging
2306       infrastructure, provide Windows PMDA using the PDH (Performance
2307       Data Helper) APIs.  Target is Windows 98 or later, but must have
2308       either Cygwin or SFU (aka Interix) run-time installation.
2309     - Enhance Solaris support - provide Solaris PMDA using the kstat()
2310       APIs. Target is SunOS 5.8.
2311     - Add AIX support - port libraries, collection and logging
2312       infrastructure, provide AIX PMDA using ther perfstat() APIs.
2313       Target is AIX 5.2.
2314     - rfe:916189 Improvements to archive interpolation diagnostics
2315       under -Dinterp
2316     - bug:916189 use snprintf in preference to sprintf to harden defences
2317       against possible buffer overrun issues
2318     - bug:918878 avoid using file(1) in pmafm and mkaf due to problems
2319       with "magic" extensions for PCP file typing on some platforms
2320     - Linux "rc" scripts enhanced to support both the SuSE and RedHat
2321       regimes
2322     - bug:916354 set SO_KEEPALIVE on the pmcd connection socket to stop fd
2323       leaks with noisy networks
2324     - bug:916189 Fix up handling of tty name (from command line) for
2325       roomtemp PMDA
2327 pcp-2.3.2-13 (SGI Internal release)
2328     - fix bug 902034 for pcp-sgi proprietary package. Added topdisk,
2329       topsys and man pages. Fixed shubstats and enhanced pmshub.
2330     - support for 2.6 style /proc/diskstats
2331     - support 2.6 /proc/stat cpu stats, new metrics:
2332       kernel.percpu.cpu.{intr,wait.total}
2333     - bug #905010 some minor man page tweaking
2334     - bug 907846: pcp cpu.idle metrics wrap prematurely on 2.6 kernels
2335     - bug 907673: linux swap.{pagesin,pagesout} metrics are wrong
2336     - bug 909111 hinv.machine was wrong for Altix. Also, changed several
2337       hinv metrics from instant to discrete.  
2338     - bug 909141: /etc/init.d/pcp now supports "restart"
2339     - bug 911201: PCP network.udp statistics are incorrect
2340     - bug:912971: install rc script to /etc/init.d, works on both RH and SuSE
2341     - bug:912972: promote network.interface metrics to 64bit unsigned,
2342       detect and handle 32bit wraps
2343     - bug:914790 parameterize /var/pcp paths, use /var/lib/pcp by default
2344     - bug:914555: not all mem.util.* metrics available on all kernels
2345     - bug:904478: pcp slabinfo metrics broken for 2.6.x kernels
2347 pcp-2.3.2-4 (6th October 2003)
2348     - fix - on SGI Altix systems, scan topology from /hw rather than /dev/hw
2349     - fix - bug #896808 kernel.{all,percpu}.cpu.idle is unsigned long and is
2350       hence exported as a 64bit ascii number in /proc/stat on 64bit kernels.
2351       Same fix for the per-process cpu metrics in /proc/*/stat affecting
2352       proc.psinfo.{utime,stime,cutime,cstime}
2353     - (proprietary) pcp-pro now obsoletes pcp-snia for the Altix platform
2354     - deprecate the PCP_LIB_COMPAT_DIR variable in /etc/pcp.conf
2355     - add Linux memory metric (mem.util.other) and memory metrics help text
2356     - add lockstat PMDA identifier into stdpmid list
2357     - add Linux vfs metrics (files, inodes, dentries)
2358     - fix - bug #900363 in linux PMDA to handle > 128 CPUs in /proc/stat
2359     - minor cleanup in libpcp, bug #901776
2361 pcp-2.3.1-4 (16 July 2003)
2362     - fix - repair Linux fallout from TRIX changes
2363     - Makepkgs now extracts src tarball from srpm and includes build version
2364       in the tar filename
2365     - fix - make pmtrace and libpcp_trace endian safe, bug 893884
2366     - fix - don't sum non-disk entries from /proc/partitions in disk.all
2367       metrics, and add new SGI XVM metrics below disk.xvm, bug 895611
2368     - minor help text changes in the linux PMDA
2370 pcp-2.3.0-17 (for dev testing)
2371     - fix - compilation warnings in the mount PMDA.
2372     - fix - pmie builds with recent versions of bison.
2373     - fix - several XFS metrics to work with the current/previous XFS versions.
2374     - fix - build on Redhat 9 wrt errno.h changes.
2375     - added several new XFS metrics.
2376     - remove inclusion of some kernel headers from the Linux PMDA code.
2377     - fix - sginap() macro platform_defs.h overflows causing pmie, pmval and
2378       assorted qa tests to hang, bug 891861
2379     - fix - repair fallout from autoconf-2.57 changes in Redhat 9 (broke
2380       "echo without newline" detection for pcp.conf), bug 892029
2381     - fix - under rare conditions, pmFetchArchive() may return with
2382       a bogus return value, bug 892037
2383     - fix - make pmlogger_check tolerant of hostname(1) returning the fully
2384       qualified domain name, bug 892079
2385     - fix race in pmTimeConnect (for pcp-pro only), bug 892827
2387 pcp-2.3.0-15 (21 May 2003)
2388     - fix - pmdampi name space issue issue, bug 891599
2390 pcp-2.3.0-14 (27 Feb 2003)
2391     - Fix for 882525: Linux pmda fails with openafs module at Fermilab
2392       problem in symbol table management, correction also involved
2393       removing the regexp() use and cleanup resulting in a 60% speed-up.
2394       Thanks to Troy Dawson <dawson@fnal.gov> for helping to track this down.
2396 pcp-2.3.0-13 (21 Feb 2003)
2397     - portablility changes to enable building the PCP infrastructure on
2398       Solaris, based on contributions from Alan Hoyt <ahoyt@moser-inc.com>
2400 pcp-2.3.0-12 (17 Feb 2003)
2401     - fix segfault for kernels which do not have CONFIG_MODULES
2402       reported by David Douthitt <DDouthitt@cuna.coop>
2404 pcp-2.3.0-11 (12 Feb 2003)
2405     - patch from Anas Nashif <nashif@planux.com> to work with glibc 2.3.1
2406     - fix - pmlogger_check failure messages are too verbose
2407     - fix - pmclient sometimes reports bad Busy CPU (#) on MP systems
2408     - fix - Piggy-back PDU and endian conversion error
2409     - fix - Minor problem with error-handling in pmlc-pmlogger
2410       connection protocol
2411     - fix - cleanup handling of children's exit status for pmie
2412     - fix - need better diagnostics to debug trace PMDA
2413     - fix - Minor cleanup of PCP man pages
2414     - fix - command buffer too small in pmnsdel
2415     - Solaris portability changes from Alan Hoyt <ahoyt@moser-inc.com>
2416       (qa only so far)
2417     - fix - minor warnings and build cleanup
2418     - fix - serialize the pcp build
2420 pcp-2.3.0-10 (16 December 2002)
2421     - Changes to pmlogconf to improve usability
2422     - pmie_check fails when log files relocated via symlink
2423       reported by Micah Altman <Micah_Altman@harvard.edu>
2424     - fix linux pcp upgrade saves pmns but doesn't save pmcd.conf
2425     - fix pmlc logic error in handling descriptor fetch failures
2426     - pmdumplog reports incorrect sizes for PDUs on ia64
2427     - fix /proc scanning for newer 2.4.x kernels and for 2.5.x
2428     - pmproxy support in libpcp
2429     - change the units of kernel.all.uptime from hours to seconds
2430       contributed by Mike Mason <mmlnx@us.ibm.com>
2431     - fix pmafm remove does not list all files
2432     - Units wrong for proc.psinfo.rss_rlim, Mike Mason <mmlnx@us.ibm.com>
2433     - in build/rpm/GNUmakefile, remove '=' from --target since rpm v4
2434       doesn't seem to like it Todd Davis <todd.c.davis@intel.com>
2435     - fix rpm upgrade post install processing for pmieconf rules
2436     - large number of new metrics and bug fixes from Mike Mason
2437       <mmlnx@us.ibm.com> to support metrics required by libgtop. These
2438       include the following:
2440       (new) Total idle time since boot
2441             kernel.all.idletime
2442       
2443       (new) current # of user sessions
2444             kernel.all.nusers
2445       
2446       (new) Last pid used
2447             kernel.all.lastpid
2448       
2449       (new) Filesystem blocksize from statfs()
2450             filesys.blocksize
2451       
2452       (new) Filesystem free space available to non-superusers from statfs()
2453             filesys.avail
2454       
2455       (modified) Per process command name
2456             proc.psinfo.cmd
2457       
2458       (new) Per process command line from /proc/<pid>/cmdline
2459             proc.psinfo.psargs
2460       
2461       (new) Per process CPU number from /proc/<pid>/stat
2462             proc.psinfo.processor
2463       
2464       (new) Per process wait channel symbol name
2465             proc.psinfo.wchan_s
2466       
2467       (new) Per process signal info from /proc/<pid>/status
2468             proc.psinfo.signal_s
2469             proc.psinfo.blocked_s
2470             proc.psinfo.sigignore_s
2471             proc.psinfo.sigcatch_s
2472       
2473       (new) Per process map info from /proc/<pid>/maps
2474             proc.memory.maps
2475       
2476       (new) Per process memory info from /proc/<pid>/status
2477             proc.memory.vmsize
2478             proc.memory.vmlock
2479             proc.memory.vmrss
2480             proc.memory.vmdata
2481             proc.memory.vmstack
2482             proc.memory.vmexe
2483             proc.memory.vmlib
2484       
2485       (new) Per process user and group ids from /proc/<pid>/status
2486             proc.id.uid
2487             proc.id.euid
2488             proc.id.suid
2489             proc.id.fsuid
2490             proc.id.gid
2491             proc.id.egid
2492             proc.id.sgid
2493             proc.id.fsgid
2494       
2495       (new) Per process user and group ids converted to names
2496             proc.id.uid_nm
2497             proc.id.euid_nm
2498             proc.id.suid_nm
2499             proc.id.fsuid_nm
2500             proc.id.gid_nm
2501             proc.id.egid_nm
2502             proc.id.sgid_nm
2503             proc.id.fsgid_nm
2504       
2505       (new) Semaphore limits from semctl()(needed by libgtop)
2506             ipc.sem.max_semmap
2507             ipc.sem.max_semid
2508             ipc.sem.max_sem
2509             ipc.sem.num_undo
2510             ipc.sem.max_perid
2511             ipc.sem.max_ops
2512             ipc.sem.max_undoent
2513             ipc.sem.sz_semundo
2514             ipc.sem.max_semval
2515             ipc.sem.max_exit
2516       
2517       (new) Message queue limits from msgctl()(needed by libgtop)
2518             ipc.msg.sz_pool
2519             ipc.msg.mapent
2520             ipc.msg.max_msgsz
2521             ipc.msg.max_defmsgq
2522             ipc.msg.max_msgqid
2523             ipc.msg.max_msgseg
2524             ipc.msg.num_smsghdr
2525             ipc.msg.max_seg
2526       
2527       (new) Shared memory limits from shmctl() (needed by libgtop)
2528             ipc.shm.max_segsz
2529             ipc.shm.min_segsz
2530             ipc.shm.max_seg
2531             ipc.shm.max_segproc
2532             ipc.shm.max_shmsys
2534     - fix libpcp_trace stub library does not build on ia64
2535     - fix make clean doesn't remove all that it should
2536     - fix pmlogger gram.y syntax error for newer bison
2537     - fix pmstore value "too big" test does not work on 64bit platforms
2538     - fix memory leak in pmlogger on 64bit platforms
2539     - fix update-magic to recompile the magic file after install
2540     - fix pmie alarm actions, suggested by Todd Davis <todd.c.davis@intel.com>
2541     - fix man pages to be compatible with khelpcenter and man2html
2542     - use rpmbuild rather than rpm --rebuild for RH8, contributed by
2543       Todd Davis <todd.c.davis@intel.com>
2544     - use rpm instead of rpmbuild if rpmbuild isn't available, contributed
2545       my Mike Mason <mmlnx@us.ibm.com>
2546     - in pmdas/linux/ksyms.c, use __psint and %p format for for address
2547       scanning, contributed my Mike Mason <mmlnx@us.ibm.com>
2548     - use "make" by default in Makepkgs rather than explicitly gmake
2549     - Add top level GNUmakefile check for gmake (stolen from glibc)
2550     - Correctly check status in rule for pcp.src in build/GNUmakefile
2551     - correctly check rpmbuild exit status in Installpkgs.
2552     - fix NULL ptr deref in src/pmdas/linuyx/proc_pid.c for the
2553       case where a process exits while we're reading /proc/<pid>/status
2555 pcp-2.2.2-9 (11 December 2001)
2556     - fixed mangle-src to catch all copyrights in the open source package
2557     - fixes from gilly@exanet.com for /proc/cpuinfo on alpha platform.
2558     - change configure.in to work with autoconf version 2.50
2559     - fix configure.in to work when ps gives warnings on stderr;
2560       (eg. System.map doesn't match running kernel)
2561     - added lmsensors PMDA, contributed by Troy Dawson <dawson@fnal.gov>
2562     - added kernel.all.uptime, contributed by Gilly <gilly@exanet.com>
2563     - fixed int overflow with kernel.*.cpu.* metrics. Fix contributed
2564       by Gilly <gilly@exanet.com>
2565     - use sysconf(_SC_CLK_TCK) to determine HZ
2566     - fix sapic scanning for sn-ia64 in proc_cpuinfo.c
2567     - fix from gilly@exanet.com for scanning 2.4.x /proc/stat disk stats
2568     - bug 826904 Ensure atomicity of PMNS updates as seen by PMNS readers,
2569       and add transactional-level locking to ensure mutual exclusion
2570       between PMNS updaters
2571     - bug 817376 pmlogger makes too many round trips to pmcd
2572     - bug 828416 - pmlogger access control will not accept hostnames
2573       containing hyphens
2574     - bug 820891 More robust mapping of system error codes to strings to
2575       accommodate the growing range of errno values in IRIX and differences
2576       between IRIX and Linux
2577     - bug 826681 - Having $MAGIC set screws up Linux file(1) with consequent
2578       havoc for PCP scripts. Fixes to mkaf and pmie_check.
2579     - fix from Brian Harvell <harvell@aol.net> to allow pcp.conf.in to be
2580       configured with the following cmdline options to the configure script:
2581       --datadir --sbindir --localstatedir --libdir --mandir --bindir
2582       --includedir and --prefix
2583     - fixes from Brian Harvell <harvell@aol.net> for incorrectly
2584       configured paths in src/pmie/src/pmie.c src/pmns/pmnsdel.c 
2585       and src/pmns/pmnsmerge.c
2586     - from Thomas Graichen <tgr@spoiled.org>, support for bzip2 compressed
2587       man pages (such as used in Mandrake 8.x)
2588     - from Martin Knoblauch <Martin.Knoblauch@TeraPort.de>, fix for a problem
2589       where if LANG is not "C", the is_chkconfig_on() shell function in
2590       rc-proc.sh does not work, causing problems with the rc scripts.
2591       src/libpcp/src/pdu.c - 1.3
2592     - bug 836236 in libpcp: better handling of piggy-back PDU in the boundary
2593       case where the second PDU is so short that it does not contain even a
2594       full PDU header.
2595     - fix src RPM build on Turbo Linux. If /usr/lib/rpm/brp-compress
2596       exists then always use gzipped man pages.
2597     - fix buglet where file-3.35 in RH7.2 uses a compiled magic file
2598     - fix buglet where gawk complained about "\{" on Mandrake linux
2599     - on SGI SNIA systems, map node number from sapic to cnode in /dev/hw/nodenum
2600     - bug 843215, fix pmie's sprintf looking for it's config file
2601     - bug 842905, when /var/log/pcp is a symbolic link, pmie_check fails
2603 pcp-2.2.1-3 (21 June 2001)
2604     - remove unwanted *.rpmorig files after upgrade 
2605     - fixed bug #827972, pcp root exploit with pmpost
2606     - fixed assorted other security issues.
2608 pcp-2.2.0-15 (23 May 2001)
2609     - don't include linux/kernel_stat.h and avoid __sparc__ conditional code 
2610     - from Michal Kara: rc will rebuild PMNS if root_* files newer than root
2611     - add the roomtemp PMDA for measuring temperatures using the 1-Wire
2612       serial network ans sensor technology from Dallas Semiconductor
2613     - zero network.tcpconn values before counting them in /proc/net/tcp
2614       (Michal Kara's original code was correct - markgw busted it!)
2615     - add new LGPL library libpcp_http. Used by permission of the author,
2616       Laurent Demailly <L@Demailly.com>
2617     - minor surgery on apache PMDA to link with -lpcp_http
2618     - minor fix diagnostic from __pmLogRead
2619     - as reported by Alexander L. Belikoff <abel@vallinor4.com>, it was
2620       not possible to disable the primary logger via changes to the
2621       /var/pcp/config/pmlogger/control file ... this has been fixed
2622     - as reported by Alan Bailey <bailey@mcs.anl.gov>, the assumption
2623       that /var/pcp/config/pmlogger/control was version 1.1 was implicit 
2624       ... this is now documented and the pmlogger_* scripts will warn
2625       if the deprecated version 1.0 format is used accidently
2626     - from Michal Kara: fix mem leak in apache PMDA
2627     - from Michal Kara: install /var/pcp/config/pmlogger/Makefile
2628       (src is in src/pmlogctl/Makefile.install). This provides pre-processing
2629       of pmlogger config files with cpp.
2630     - reintroduction of "impl.h" header, deprecate "pmapi_dev.h" and major
2631       makefile surgery to reintegrate the IRIX and Linux PCP source trees
2632     - add ia64 support infrastructure.
2633     - use -fno-strict-aliasing for correct ia64 compilation
2634     - use -fpic to avoid gprel errors linking shlibs on ia64
2635     - don't use -P with cpp, thus preserve line numbers
2636     - post-process help text to reformat long lines
2637     - pv:789819 fixes to mailq and sendmail PMDAs
2638     - fix endian-sensitive IP addr construction in cisco PMDA
2639     - fix sscanf unaligned access warnings on ia64 for cisco PMDA
2640     - support v1 help text again, conditional on HAVE_NDBM
2641     - fix pmval's qsort compare routine for instances
2642     - surgery on almost all man pages, merge with IRIX PCP man pages
2643     - promote shping to open-source status
2644     - fix bug #814989 where disk.all.* not summed correctly (if the sard
2645       patch has been applied to running kernel)
2646     - with the sard patch applied to the kernel, disk.all metrics were
2647       being summed as the total of disk.partitions and disk.dev metrics,
2648       resulting in approximately twice the rate of disk I/O for the
2649       disk.all metrics
2650     - added more disk metrics and update help text
2651     - the "cpu" instance domain is now dynamic and supports any number of CPUs
2652     - fixed pmie rc and pmie_{check,daily} scripts
2653     - a bunch of places were using $PCP_VAR_DIR/config/pmcd/pmcd.conf
2654       as the path to pmcd.conf (which is correct). Others were using
2655       /etc/pmcd.conf (which is only correct on IRIX).
2656     - merged IRIX/Linux versions of pmsocks
2657     - mimic the IRIX xconfirm behaviour more closely, pv 817289
2658     - pv:817367 Handle SIGCHLD from xconfirm problem on Linux
2659     - minor changes in error messages to make them less IRIX-centric
2660       and hence more sensible for Linux
2661     - fix weblog link in doc dir logic and old netscape should be
2662       detected as CERN not NS_PROXY.
2663     - fix weblog so regex in the configuration file is recognized
2664       correctly on all platforms
2665     - only run weblogconv.sh on linux
2666     - conversion to more simple copyright in numerous places
2667     - avoid grep -q usage: not supported on early IRIX
2668     - pv:803341 Change Creator: for mkaf from mkaf to pmchart to assist
2669       with pmafm replay when pcp also installed.
2670     - updated man page text for platform-agnostic descriptions.
2671     - fix 817880 pmafm remove does not list all files
2672     - src/pmie/GNUmakefile Fix busted sed translation of the control
2673       file so the logfiles (and hence directories) are ...pmie/<hostname>
2674       rather than pmie<hostname>
2675     - renamed all Makefiles to GNUmakefile
2676     - makefile surgery to allow multiple RPMs to be built from one src tree
2677     - fixes to src/pmcd/pmdaproc.sh to not use test -e
2678     - pv:815326 fix pcp linux /usr/share/magic doesn't detect pmie config
2679     - pv:818381 fix pmie_check fails esp integration
2680     - man page for pmlogsummary was in both pcp and pcp-pro
2681     - fix to src/pmie/pmie_check.sh, improve pattern to match No such
2682       file or directory for linux
2683     - fix all linux specs to install root,root rather than root,bin
2684       (needed to avoid warnings when installing on redhat7.1)
2685     - add GNUmakefile.install for all PMDAs, installed in each PMDA dir
2686     - fix src/pmdas/weblog/server.sh to use quotes on -d that was breaking
2687       when parameter empty.
2688     - pv:807561 change pmprobe -i and -I semantics to call pmGetInDom
2689       rather than using the returned indom from pmFetch
2690     - add hinv.machine for oview to use
2691     - change the cpu instance domain to use the numa names if they are
2692       present on the machine, else revert to cpuX syntax
2693     - numerous fixes so the src RPM builds on all platforms
2694     - pv:824382 - xfs block metrics were scaled incorrectly
2695     - add support for /proc/slabinfo metrics (mem.slabinfo.*)
2696     - add new "process" and "mounts" PMDAs, contributed by Alan Baily
2697     - added GPL copyrights to process and mounts src, fixed makefiles
2698       to extract domain number from stdpmid and added install targets,
2699       and small change to ignore comments in conf files.
2700     - added hinv.pagesize (uses the getpagesize(2) system call)
2701     - fixed bug #825229 where rpm upgrade would clobber root pmns for PMDAs
2703 pcp-2.1.10-8 (released circa Oct 18 2000, with SGI ACE1.4)
2704     - guard against DOS attack by restring incoming PDU size to 64K.
2705     - add hinv.map.cpu and hinv.cpu metrics exported by /proc/cpuinfo
2706     - fix small error in INSTALL_MAN rule in src/include/builddefs.in
2707     - fix for bug #793427 - correct symlinks for man pages with multiple
2708       entries in the .SH NAME section.
2709     - add network.tcpconn metrics to export counts of tcp connections in each
2710       state. Code contributed by Michal Kara (lemming@arthur.plbohnice.cz)
2711     - few minor fixes for build on ia64
2713 pcp-2.1.9-12 (released circa Sept 13 2000, with SGI Propack1.4)
2714     - for 2.4 without sard, correctly match disk numbers in /proc/stat
2715       with major,minor numbers in /proc/partitions.
2717 pcp-2.1.9-11 (unreleased)
2718     - add pagebuf metrics (Daniel and Nathan)
2719     - fixes so the build works if pcp is not already installed
2720     - minor security fix to pcp.spec.in (force mode 644 for .NeedRebuild)
2721     - make sure the src RPM builds correctly (LSRCFILE issues from LinuxWorld)
2722     - fix for bug #797756, upgrade from pcp2.1.6 to any newer version leaves
2723       pcp chkconfig off and the name space does not get rebuilt.
2724     - extended the weblogs PCP agent so it can report proxy/squid
2725       http servers, and added assorted http cache statistics.
2726     - fixed the Cisco router PCP agent (it was broken in pp1.3).
2727     - add support for disk stats in 2.4.x kernels with "disk_io" field
2728       in /proc/stat (only used when sard patch is not installed)
2729     - if the pcp-pro package (SGI proprietary) is installed, all libpcp
2730       clients on linux are now "authorized" to monitor IRIX systems that
2731       do not have a pmcd collector license.
2733 pcp-2.1.9-6 (released 2 Aug 2000 for propack1.4 - alpha, not final)
2734     - install /usr/share/pcp/lib/rc-proc.sh containing common
2735       shell functions for use by rc scripts - these functions
2736       are tolerant of the chkconfig command missing (as in SUSE).
2737     - update all rc scripts and {pmlogger,pmie}_{check,daily} scripts
2738       to use the new rc-proc.sh functions. Remove the /etc/sysconfig
2739       stuff entirely (it was not being used anyway).
2740     - fix for #795934 : after rpm -U, pcp is chkconfig off. It turned
2741       out that an upgrade executes the %post _and_ the %preun scripts,
2742       which resulted in pcp being chkconfig'd on then off again.
2743     - fix pmie rc scripts so they work, are chkconfig friendly,
2744       and cope with _and_ without pmieconf (which is in pcp-pro).
2745       Also install /var/pcp/config/pmie/config.default as a simple example
2746       to monitor the load average and report to syslog. The pmie
2747       daemon is chkconfig off by default.
2748     - default run levels for pmcd and pmie (daemon) are now 2345, for SUSE
2749     - reconcile troff and groff differences in man page sources
2750     - fix for bug #797049 use strftime(%z) to determine timezone offsets
2751       w.r.t. daylight savings
2752     - portability surgery on src/libpcp_trace, and add new pmtracecounter()
2753       function, see pmtracebegin(3) for details.
2754     - reconcile pcp.env and pmcd.options from IRIX
2755     - fix for bug #797048 update-magic does not fully remove old entries
2756       before adding new, hence the magic file would grow after each upgrade
2757     - other minor reconciliation work with IRIX
2758     - fix build environment to allow proper handling of compressed man pages
2759     - add support for RPM version 4.
2760     - add support for add kernel.{all,percpu}.syscall metrics
2761       (requires kernel patch)
2762     - fixed for bug #797164: potential SEGV due to calling realloc on a 
2763       misused pointer - src/pmdas/weblog/weblog.c
2764     - use realpath(3) to resolve devices in /proc/mounts for filesys.* metrics
2767 pcp-2.1.8-2 (released 30 June 2000)
2768     - fix for bug #793871 pmlogger_check fails after redhat upgrade
2769       (because PCP entries in /usr/share/magic were clobbered)
2770     - also install /var/pcp/pmdas/linux/pmdalinux (as a non-DSO
2771       agent for debugging and profiling purposes).
2772     - added pmda.uname (uname -a) and pmda.version (linux pmda version)
2773       metrics. The pmda.uname metric is needed by the "pcp" command.
2774     - fix for #789025 fix to ensure rpm --verify succeeds immediately
2775       after an install, and other errors in pmlogger_check
2776     - released with ACE 1.3 (MR 19 Jul 2000)
2778 pcp-2.1.7 (internal release for testing)
2779     - merged changes from IRIX for multiple namespace support in
2780       pmdaproc.sh
2781     - parameterized path to pmcd.conf and pmcd.options to avoid
2782       having to move these files in IRIX. Use PCP_PMCDCONF_PATH and
2783       PCP_PMCDOPTIONS_PATH respectfully.
2784     - add new error define PM_ERR_LOGFILE (reconciled from IRIX)
2785     - conditional pragma for pmGetConfig (not used in linux)
2786     - use if defined(HAVE_OBJECT_STYLE) to guard __pmCheckObjectStyle
2787       since it's not used in linux (reconciled with irix code)
2788     - correct logic used to scan for pmlogger pid in pmlogger_check
2789       in case where pmlogger exits prematurely, part of #789025
2790     - added -Wall to default CFLAGS and LDFLAGS
2791     - added xfs metrics (needs kernel support else no values available)
2792       extracted from /proc/fs/xfs/stat
2793     - added nfs (version 3) metrics, same names as on irix, bug #789669
2794     - fix instance domain for kernel.percpu.interrupts, bug #790372
2796 pcp-2.1.6 (released 3 May 2000)
2797     - released with ISE 1.2 (MR 25 May 2000)
2798     - released with ISEMAIL 1.0 (MR 24 May 2000)
2799     - this is the version shipped with SGI ProPack1.3
2800     - change use of __clone to pthread_create for portability
2801     - add support for raid disk stats (previously ignored)
2802     - fix for bug #789425 pmie suspect behaviour with "delta" keyword
2803     - add support for devfs style scsi disk names
2804     - fixed a problem where nfs stats were always showing NFSv3 stats
2805       rather than NFSv2 stats. We are not (yet) supporting NFSv3 stats.
2807 pcp-2.1.5 (released 12 April 2000)
2808     - released with SGI ACE 1.2 (MR 19 Apr 200)
2809     - fix bug #786743 filesys metrics are wrong
2810     - fix potential segfault bug in timezone handling
2811     - tolerate SUSE's location of magic file different to Redhat's
2812     - tolerate no chkconfig on SUSE (use %postinstall create rc symlinks)
2814 pcp-2.1.4 (released 15 Feb 2000)
2815     - fix for segfault src/pmdas/linux/pmda.c on linuxppc, found by
2816       Dale F. Brantly <dale.brantly@sgi.com>
2817     - fix build error in src/pmclient, was trying to use pmgenmap
2818       without /etc/pcp.env, also found by Dale.
2819     - setlinebuf(stdout) for all clients that loop
2820       (fixes a buffering problem on alpha-linux).
2821     - fixed some missing "{" in conditional variable assignments
2822       in src/pmie/etc_init.d_pmie (found by lstep@free.fr)
2823     - changed use of pmgenmap in build for pmclient and
2824       pmkstat to be consistent (found by lstep@free.fr)
2825     - don't assume clock tick rate is 100/second. Use the CLK_TCK macro
2826       instead. Rearrange arithmetic in src/pmdas/linux/pmda.c where we
2827       divide by CLK_TCK to avoid truncation in conversions from jiffies
2828       to milliseconds.
2829     - return "no values available" rather than PM_ERR_APPVERSION for
2830       the metrics disk.{all,dev}.{read,write,total}_bytes since these
2831       are not available on systems without the "sard disk patch".  This
2832       is now consistent with requests for disk.partitions.* metrics.
2834 pcp-2.1.3 (released with 2.1.4)
2835     - released with ISE 1.0 (MR 1 Mar 2000)
2836     - added hinv.map.scsi metric as a map of SCSI devices (if any)
2837     - added disk.dev.{read,write,total}_bytes
2838     - filter devpts from filesys.* metrics to avoid FPE errors
2839     - added support for new style Apache configuration file and
2840       "silent" install to weblog scripts
2842 pcp-2.1.2 (released with 2.1.4)
2843     - released with SGI ACE 1.0
2844     - fixed date field in LSM
2845     - install pmiestats.h for pmieconf
2846     - renamed /var/pcp/config/pmafm/pcp-col to
2847       /var/pcp/config/pmafm/pcp
2848     - added network.{ip,icmp,tcp,udp} metrics
2849       extracted from /proc/net/snmp
2850     - fixed shell syntax error in pmlogger_daily(1)
2851       (changed test -l to test -f)
2852     - fixed problem with definition of __psint_t on 64bit machines
2853     - fixed timezone problem with daylight saving
2855 pcp-2.1.1 (released 7 Dec 1999)
2856     - initial pcp-2.1.1 open source release