forked from performancecopilot/pcp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
2964 lines (2812 loc) · 157 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
pcp-3.11.11 (30 June 2017)
- work-in-progress, see http://pcp.io/roadmap
pcp-3.11.10 (17 May 2017)
- books: add missing images into the pdf builds
- build: selinux module checking
- build: debian build fixes
- build: MAC OS X build fixes
- build: Qt5 now used on all fedora releases
- build: correctly handle LDIRT when building perl modules
- build: create dso variant of pmdasimple
- install: debian install fixes
- install: Add pcp-zeroconf rpm subpackage
- libpcp: multithreaded locking improvements
- libpcp: provide more general features-capabilities mechanism for fds
- libvirt pmda: add new block, perf, vcpu metrics
- man: debian man page migrations
- man: pmlogcheck.1: document new -w option
- pcpqa: ongoing improvements
- pmcd: restore context to pcp_var_run_t after pmcd start
- pmcd: timeout countdown fix, during pmda shutdown phase of exiting
- pmchart: fix reaction to timezone changes from pmtime
- pmdalinux: fix resource leaks in zoneinfo code
- pmdalinux: add Linux kernel entropy metrics
- pmdalinux: several additional mem.zoneinfo metrics
- pmdalinux: correct metadata for hinv.cpu.clock and hinv.cpu.cache
- pmdammv: fix resource leaks on error paths
- pmdaperfevent: fix leaks, incorrect free, dead code
- pminfo: improve formatting with one-line help text error message
- pmmgr: heap management improvements
- pmrep: correctly handle endtime in uninterpolated mode
- pmrep: add support for ignoring (-I) and omitting (-v) metrics
- pmrep: cmd line improvements
- python api: fix memory leaks
- python api: handle non-POSIXLY_CORRECT getopt cases
- selinux: several updates to pcp policy
- stdpmid: reserve a domain number for Prometheus endpoint PMDA
- zsh: Add --nowrap to the completions for pmlogcheck
pcp-3.11.9 (31 March 2017)
- derived metrics: add defined() function
- derived metrics: reduce memory footprint
- derived metrics: add rescale(<expr>, <units-string>) function
- derived metrics: extend count() for fetch errors
- derived metrics: add mkconst() constructor
- derived metrics: add check ? foo : bar (ternary operator)
- derived metrics: add - operator (unary negation)
- derived metrics: add ! operator (boolean negation)
- derived metrics: add support for relational expressions
- derived metrics: support double precision floating point constants
- libpcp: new implementation for derived metric parser
- libpcp: use correct context ID with multiple local contexts
- pcp-tapestat: add a new tape statistics reporting command
- pmchart: fix plot disappearance when legend turned off/on
- pmchart: fix time stamp in metric details window
- pmchart: don't display removed metrics in metric details window
- pmwebd: fix graphite filtering for non-normal floating-point data
- pmdadocker: remove unused buildversion artifacts
- pmdaperfevent: add PMU events exported from kernel
- pmdaperfevent: fix metrics names for the dynamic events
- pmdalinux: convert mem.slabinfo metrics to using pmdaCache
- pmdalinux: fix fd leak on an error path in tape metrics
- pmdalio: drop unneeded pmcd restart from Install script
- selinux: several updates to pcp policy
- selinux: add el6 focused conditional checks
- selinux: separated out docker/container policy
- coverity: series of small code fixes across the board
- build: overhaul the webapps packaging build extensively
- vagrant: first cut at osxSierra base image build via Vagrant
- vagrant: numerous cleanups and refactoring to Vagrantfile
- containers: pcp-go-app standalone Speed-instrumented container
- containers: add pcp-redis instrumented Redis server container
- containers: add pcp-elasticsearch instrumented elasticsearch server
- docs: fix pmParseUnitStr(3) summary section typo
- docs: python updates for https://pypi.python.org/pypi/pcp/1.1
pcp-3.11.8 (17 February 2017)
- pmdabind2: new PMDA for BIND named REST API statistics
- pmdadocker: new PMDA for Docker REST API statistics
- pmdalio: new PMDA for the kernel LIO subsystem (iSCSI, FCP, FCoE)
- pmdanutcracker: new PMDA for NutCracker (TwemCache) metrics
- pmdaredis: new PMDA for redis (REmote DIctionary Service) metrics
- pmdalinux: additional VM metrics for zoneinfo
- pmdalinux: add per-node memory zone protection stats
- pmdalinux: add Linux VM KSM same-page-merging metrics
- pmdalinux: dynamic per-CPU and per-node instance domains
- pmdalinux: export network.interface.baudrate with 64-bit type
- pmdalinux: export byte version of all hugepage metrics
- pmdalinux: add several metrics recently added to /proc/vmstat
- pmdalinux: add support for SCSI tape statistics
- pmdaproc: switch ttyname calculation to iterate through /dev
- selinux: new files and package for setting custom PCP policy
- libpcp_web: support for callback-based JSON metrics extraction
- libpcp: several archive mode instance scan performance improvements
- pmlogger scripts: fix multi-level directory structures
- pcp-atopsar: fix swptotal and swpfree reporting units
- pcp-atop: fix up reporting of the network utilization
- pmval: improve handling of shifting metric instances
- pmns/Rebuild: rebuild PMNS if the root file is empty
- docs: added instance domain help text for several PMDAs
- docs: additional documentation for pmdamysql (MariaDB support)
- docs: clarifications to the Apache2 stats export setup
- docs: update pmdammv man pahe to mention golang bindings
- qt tools: update MacOSX info files keys for highres displays
- perl api: add missing error codes and local_install helper
- python api: add missing error codes
- containers: new pcp-standalone application container layer
- containers: new pcp-nginx container with pmcd & Nginx setup
- containers: new pcp-apache container with pmcd & Apache setup
- containers: new pcp-java-app container with pmcd, Java & Parfait
pcp-3.11.7 (21 December 2016)
- docs: pmLookupText added to PMAPI calls for _metric web API
- build: fix qt4 builds once more, no widgets module there
- build: update parfait and uom-se bits for jdk-1.8 use
- build: couple of small Windows install improvements
- build: conditionally use setuptools python module
- libpcp_web: fix handling of 64-bit values on 32-bit platforms
- libpcp_web: improvements to error checking
- pmdabash: resolve some permissions issues preventing use
- pmdalinux: add metrics about IPC message queues
- pmdalinux: additional semaphore arrays metrics
- pmdalinux: buddyinfo and zoneinfo mem metric updates
- pmdalinux: add zoneinfo NUMA free mem stats
- pmdaxfs: use persistent dm and md device names for xfs.perdev
- pmchart: 'local:' is now the default source
- pmchart run-away mem leak replaying multi-archive when rewinding (RHBZ 1359975)
- pmchart: make metric details popup on double click event only
- pmdumptext: 'local:' is now the default source
- pminfo: allow reverse pmid name lookups, support indoms
- pmlogrewrite: add conditional type clause (TYPE IF oldtype -> newtype)
- pmview: changes to make pmview build with latest toolchains
- qa: lots of fixes and improvements
pcp-3.11.6 (11 November 2016)
- pmchart, pmtime, pmdumptext: enable use of Qt5 toolchain
- pmchart, pmtime: switch to Qwt 6.1 for charts, widgets
- pmchart: display data values interactively (table popup)
- pmchart: fix signal blocking for the Qwt picker events
- pmdalibvirt: add per-device metrics
- pmdalibvirt: add support for new perf metrics
- pmdalibvirt: add new balloon statistics
- pmdalinux: add NFSv4.2 parameters to nfs4.* metric instances
- pmdalinux: additional shared memory segment metrics
- pmdalinux: fix network.interface.speed values
- pmdalinux: correctly classify NBD devices and partitions
- pmdalinux: fix units, semantics for some network.tcp metrics
- pmdapmcd: add pmcd.sighups metric to assist signal detection
- pmdapostgresql: no active and recovery metrics in 8.x series
- pmda scripts: deprecate "forced_restart" from Install scripts
- collectl2pcp: detect if input data in collectls "plot" format
- pmlogger: fix SIGINT handling problem
- pmlogger: allow default primary pmlogger interval to be set
- pmlogconf: suppress $PCP_DERIVED_CONFIG processing
- pmlogrewrite: fix small error in temporal index
- pmrep: add support for specifying instances
- pmrep: improve metrics collection via extend_indom
- pmrep: fixes and other improvements to CSV output
- pmrep: add -X "label" flag for instance-per-line output mode
- pmwebd: fix HTTP time zones in Date:/Last-Modified: headers
- python api: correct type of fetchgroup instance ids
- libpcp: correct logic in __pmHasPMNSFileChanged()
- libpcp: allow -EINTR to be returned from pduread()
- libpcp: correct return code for derive metric help text
- libpcp: optimise DSO lookups for local context mode startup
- libpcp_json: fix JSON data type conversion
- scripts: correct tempfile handling used throughout (SElinux)
- zabbix-agent: support zabbix 3.2.x and later, transparently
- bashrc: defend against unexpected bash completion input
- build: annotate PCP_RUN_DIR as %ghost in rpm packages
- build: fix a handful of Windows build issues
- build: revamp buildbot config and Dockerfile based builds
- docs: switch list name from [email protected] to [email protected]
pcp-3.11.5 (26 September 2016)
- pmdalibvirt: statistics from guest and hypervisor machines
- dmcache: improved err handling when lvmcache not configured
- pmie: support expressions involving string-valued-metrics
- pmlogger: fix several logic errors in disconnect handling
- pcp-atop: fix SIGFPE when some kernel metrics unavailable
- python api: add errno attribute to pmErr class
- pmdaproc: fix double accounting in the proc.runq metrics
- pmlogconf: add set of default Vector webapp metrics
- libpcp_pmi: close archive in pmi_end, plugging an fd leak
- libpcp: improvements to detection of IPv6 being disabled
- libpcp: small portability fixes from OpenIndiana compilers
- libpcp_pmda: change some char* function args to const char*
- libpcp_web: completely rewo of simple http client library,
shared library now installed and API available for all PMDAs
- libpcp_web: support for Unix domain socket http requests
- libpcp_web: prefer persistent connections whenever possible
- libpcp_web: cater for both http 1.0 and 1.1 client requests
- rc scripts: allow systemd auto-restart of all PCP daemons
- rc scripts: ensure same-named non-PCP daemons are not killed
- cron scripts: ignore *.rpmsave and *.rpmnew from control.d
- zsh completions: minor tweaks, rewrite archive completion
- build: re-instate libsystemd-journal.so as a fallback, such
that pcp-pmda-systemd packages generated as previously done
- build: fix debian papi pmda dependencies
- docs: remove out-of-date section in pmdamounts(1) man page
pcp-3.11.4 (5 August 2016)
- pcp2influxdb: export PCP metrics to InfluxDB
- collectl2pcp: fix metadata and overflow issues
- pcp-mpstat: PCP version of mpstat(1), supporting archives
- pcp-pidstat: PCP version of pidstat(1), supporting archives
- pmdammv: MMV version 2 format (longer metric & instance names)
- pmdalinux: add kernel.percpu.intr count metric
- pmdalinux: add cgroup.cpusched.cfs_{period,quota} metrics
- pmdalinux: correctly handle Ceph RADOS RBD device naming
- pmdalinux: add kernel.percpu.softirqs metrics (/proc/softirqs)
- pmdalinux: filesys metrics use persistent device mapper names
- pmdalinux: persist interrupt and softirq metric name:ID maps
- pmdaproc: rewrite proc.psinfo.ttyname metric handling (this
fix significantly reduces probability of proc PMDA timeouts)
- pmdaproc: correct handling of command names with whitespace
- pmdaproc: include threads in hotproc results, if enabled
- pmdads389log: use "dirsrv" as default user account
- scripts: fix failure status handling in PMDA Install scripts
- pmdaoracle: fix Install script failure diagnostic message
- pmlogger: auto-reconnect to pmcd whenever possible
- pmlogger: fix broken logic for primary control file
- pmlogger: validate metrics before generating MARK records
- pmnewlog: improve checking of pmlogger processes
- pmlogger_check: additional hardening against failure cases
- pmlogconf: enable logging of small core set of XFS metrics
- pmchart: fix diagnostics for archives from the same host
- pmcd: improve robustness in the face of accept(2) errors
- libpcp: guard against accept() returning an AF_UNSPEC
- libpcp: correct __pmSecureClientHandshake() error handling
- libpcp: make pmcd-client protocol safer when timeouts occur
- libpcp_web: a new web library, with JSON-pointer (RFC 6901)
support for extracting values from JSON - see pmjsoninit(3)
- libpcp_pmda: allow string caches to be saved also
- python api: support for containers
- python api: support for local context mode
- python api: interface tm class to struct_time for strftime
- pmrep: improve command line parsing
- pmrep: support configuration file sources
- pmrep: support local context mode
- pmrep: add support for containers
- pmrep: default timezone handling fix
- pmrep: allow sub-second sampling intervals
- pmrep: improve robustness of CSV output
- pmrep: fix unitinfo for mixed type metrics
- pmrep: fix archive end time reporting
- pmrep: cwd, user-specific config, then system-wide config
- pmdiff: rework the sort/join use for portability
- pminfo: increase default batch size
- pmafm: support standard --help option
- pmie: honour SIGINT while parsing rules
- zsh completion: multi-archive support
- zsh completion: support pmafm/pmie2col/pmlogcheck/pmloglabel
- zsh completion: --container improvements
- zsh completion: fix handling of pcp(1) subcommands
- build: ensure man pages are not built if unnecessary
- build: look for libsystemd not deprecated libsystemd-journal
- build: rearrange deb order of depending on python3 modules
- build: add missing python debian package shlib dependencies
- build: remove build-essential packages from debian/control
- build: add to ds389{,log} RPM package dependencies
- build: do not include .gitignore in installed file set
- build: fix declarations for deb graphite export package
- build: create nssdb directory with rpm spec packaging too
- docs: fix pmmgr(1) path typo
- docs: updates to pmrep configuration section
- docs: update pmns(5) domain table to match stdpmid
pcp-3.11.3 (17 June 2016)
- zsh: pcp command auto-completions for the zsh(1) shell
- pcp-ipcs: new command to show inter-process communication
- pmdalinux: add maximum memory bandwidth per numa node metric
- pmdalinux: update max numa bandwidth iff the .config changes
- pmdalinux: add metric about current shared memory segments
- pmdalinux: ipc shared memory swap attempts/successes metrics
- pmdalinux: add MSG_INFO and SEM_INFO ipc metrics
- pmdaproc: fix typo in name of proc.memory.vmhw{n,m} metric
- pmdaproc: switch to external instances without arguments
- libpcp, pmcd, pmproxy: client certificate support for secure
connections and add a PMCD_REQUIRE_CLIENT_CERT option
- libpcp: allow self-signed server certs in secure connections
optionally via PCP_SERVER_SELF_CERT environment variable
- libpcp: correctly propogate indom in mixed derived metrics
- libpcp: allow name of server certificate to be customized
- libpcp: plug memory leak in derived metrics error handling
- libpcp: drop dup-metric warning for logged derived metrics
- collectl2pcp: refine proc names, support for more metrics
- pmcd: improve interrupted pmcd/pmda communication resilience
- pmcd: make probe-style connection error a debug diagnostic
- pmdapapi: defensive programming improvements
- pmdaperfevent: current memory bandwidth perf derived event
- pmdaoracle: allow explicit host name and port specification
- pmdaoracle: allow potentially high latency query disabling
- python pmcc: cater for additional sample needed by counters
- pmrep: fix infinity handling
- mmv: several python api wrapper fixes
- rc scripts: really use default pmcd timeouts by default
- rc scripts: no longer allow stopping pmie/pmlogger from cron
- rc scripts: add primary (local) pmie concept to pmie
- misc: add --version/-V option to several more commands
- pmlogextract: fix metadata checking for duplicate names
- pmlogconf: move atop nfsclient metrics into own config
- pmwebd: allow use of compressed archives as nature intended
- build: fix pcp-python vs pcp-python3 deb package contents
- build: remove duplicate or unneeded header file checking
- build: resolve rpm multilib fallout from printf vs configure
- build: resolve Windows build fallout from timezone changes
- build: correct logic bug in builddefs INSTALL_MAN macro
- build: fix configure test for perl Net::SNMP module
- build: Fedora mandates a build-dep on perl-devel for pcp
- build: improve command-check error reporting in configure.ac
- build: new pcp-devel rpm package with tools/docs
- build: drop python dependency from pcp rpm package
- build: redo the generation of debian control file
- build: reinstate infiniband PMDA optional deb packaging
- build: don't double-up on default-on deb monitoring services
- build: fixes to the packaging for OpenMandriva
- docs, pmie: replace xwsh with xterm use throughout
- docs: update pmie man page references to oracle metrics
- docs: improve the sample code in the python mmv module
- docs: added tutorial about new secure connection features
- docs: use markdown for README/INSTALL formatting
pcp-3.11.2 (29 April 2016)
- pmdalinux: add per CPU network.softnet metrics
- pmdaoracle: connect to pmcd as early as possible
- pmdaperfevent: optional scaling of derived events
- pmdaperfevent: alternate event groups for derived events
- pmdaelasticsearch: restrict to local node metrics by default
- pmdaproc: cgroup blkio throttle throughput+iops metrics
- pmdaproc: fix per-process scheduler metrics (type+semantics)
- pmdaroot: add check for config.v2.json Docker 1.10+ files
- pcp-collectl: fix missing network.interface metric handling
- pcp-iostat: add -R flag for device name regex matching
- pcp-iostat: add -G flag for sum, avg, min or max statistics
- pcp-iostat: add -x flag to skip idle devices
- libpcp: fix pmcd-context-sharing refcnt and memleak bug
- libpcp: add support for permanent, global derived metrics
- libpcp: fix a multi-archive context error path memory leak
- libpcp: increase discovery probe thread stack sizes
- libpcp: rework push and pop of TZ values into environment
- pmcd: usability improvements to pmda restart
- pmieconf: tweak pcp.pmda rule to detect persistent failures
- packaging: python3 debian package
- packaging: optional vector webapp debian package
- images: switch to DFSG-compliant licensing for GUI icons
- pcp_completion.sh: add pmrep support to bash completion
- derived metrics: add derived iostat metrics below disk.*
- pmchart: split out the Iostat view into SD, DM and MD
- pmwebd: better support for some older MSIE browsers
- python api: improve the to-string function for struct tm
- pmrep: handle Py3 BrokenPipeError in Py2 compatible manner
- docs: updates to the pmdajson README file
pcp-3.11.1 (18 March 2016)
- libpcp: multi-archive contexts (directory or comma-separated)
- libpcp: fix corner case in loading PMNS causing duplicates
- libpcp: fix pmLoadDerivedConfig return code, man page updated
- libpcp: fix initialization error in roll-your-own TPD (MacOSX)
- libpcp_import: new pmiPutMark() API to write <mark> records
- libpcp_import: check timestamp ordering in pmiPutResult too
- pmieconf: rule to automate restarting of unresponsive PMDAs
- pmlogconf: automatically record Oracle database metrics
- pmlogconf: automatically record application mmap'd metrics
- pmdadarwin: add a hinv.machine metric like other platforms have
- pmdaelasticsearch: adjust to deal with elasticsearch API change
- pmdaopenbsd: first working version, basic kernel metrics
- pmdaoracle: Oracle database metrics available and updated
- pmdaoracle: improve error handling on disconnect/reconnect
- pmdalinux: fix metric units for swapdev.priority metric
- pmdalinux: fix interrupts data types for big endian hosts
- pmdalinux: require privileged client for slabinfo metrics
- pmdalinux: support for MD driver statistics and status
- pmdammv: name mmv control metrics with standard convention
- pmdaperfevent: add extension for perf derived events
- pmdapmcd: restrict pmcd.services to checking known pcp services
- pmdaproc: fix possible sigsegv with unexpected refresh order
- pmdasample: add sample.negative metrics for test coverage
- pmdaslurm: add allocated cores metric
- pcp2graphite: add an option to specify pickle protocol
- pcp2graphite: use cPickle instead of pickle for speed
- pcp2graphite: send all metrics at once in pickled mode
- pcp-vmstat: wrapper for pmstat to be more vmstat-alike
- pcp-iostat: uninterpolated archive replay with -u option
- pcp-iostat: tweak syntax used for old python versions (2.6.6)
- pcp-iostat: signal handling improvements to dodge warnings
- pcp-iostat: add -P flag for setting precision (ala pmrep)
- pcp-dmcache: dynamic lvname width to avoid truncation
- pmie: updates to the PATH handling for pmie shell actions
- pmrep: fix extended header times with -O, and sample count
- pmrep: correctly handle the end of the time window
- pmrep: improve stdio flushing to avoid exception errors
- pmrep: fix timezone handling and reporting
- pmrep: adjust exit codes for consistency
- pmrep: do not issue fsync, makes no sense here
- pmrep: finalize zabbix transfers in all cases
- pmsignal: provide a targetted program mode, -p option
- pmsignal: make dry-run mode show the full command line
- pmsocks: use the wrapper script from the tsocks package
- pmval: correct handling of real negative values
- perl api: fix input-type-socket connection logic typo
- perl api: merge pmdalogger logic fix for input string handling
- zbxpcp: add derived metrics configuration support
- zbxpcp: support both Zabbix 2 and 3 versions simultaneously
- dbpmda: add -f option to skip .dbpmdarc processing
- collectl2pcp: write a <mark> record between each input source
- build: pmdasnmp is now conditionally built as nature intended
- build: install pmlogconf where it will be found, like pmieconf
- build: fix rpmbuild warnings about symlink attrs
- build: fix compiler warnings from perl PMDA module
- build: fix af_unix-related solaris build failure
- build: rework Makepkgs configopts logic for rpm/dpkg confusion
- build: allow rpm signing, bintray upload tweaks (gpgenabled=1)
- build: non-verbose reporting on Makepkgs deb packages too
- build: add /usr/local/bin to search path for new Mac OS X Qt
- packaging: several Debian build depencency corrections
- porting: numerous OpenBSD portability changes across the board
- porting: numerous Mac OS X fixes and testing (incl a pmpython)
pcp-3.11.0 (29 January 2016)
- containers: add a pcp-pmwebd container image
- pmcd: start PMDAs via pmdaroot, allowing restart on PMDA
failure without restarting pmcd itself
- pmcd: tenfold speed up of the shutdown process
- pmcd: ensure startup before zabbix-agent, with systemd
- pmdafreebsd: use getifaddrs() for network interface
- pmdalinux: fix /proc/interrupts parsing on s390x platforms
- pmdalinux: fix i386 buffer overflow in softnet stats
- pmdalinux: support additional vmstat kernel metrics (virt
balloon, transparent-huge-page zero page alloc counters)
- pmdaxfs: support the per-device XFS metrics
- pmdanamed: fix SELinux AVC denials during Install
- pmdavmware: updates to work with current VMWare perl API
- libpcp: improvements to derived metrics error handling
- libpcp: rework interp logic arond <mark> records
- libpcp: fix bug in interp mode record caching
- libpcp: pthread_mutexattr_destroy, pthread_mutex_destroy calls
- libpcp: added a new fetchgroup API
- libpcp: fix dup-context-with-attrs memory corruption bug
- libpcp: fix derived metric PMNS navigation mem leak
- libpcp: unconditional registration of anon (event.*) metrics
- pcp-iostat: use py3 and py3 compatible pipe exception handlers
- pcp-iostat: improve incorrect counter rate conversion
- pcp-iostat: improve BrokenPipeError exception handling
- pmmgr: add general monitor-program launching option
- pmmgr: resolved a couple of small memory leaks
- pmrep: fix first sample reporting, instant/discrete metrics
- pmrep: fix string valued metric reporting, with python3
- pmval: improve reporting in the region of <mark> records
- pmwebd: add an option to disable service advertising
- pmwebd: support for http compression
- pmwebd: add units/sem to legend in graphite/png mode
- pmwebd: enable graphite image-mode caching via redirection
- pmwebd: add an option for alternative name encodings
- sar2pcp: support additional mem.util metrics
- docs: updates to the system CPU performance tutorial
- packaging: add missing dependencies on some perl modules
- packaging: drop the pcp-compat subpackage
pcp-3.10.9 (16 December 2015)
- pmrep: swiss-army-chainsaw metric reporting utility
- pmstat: fix sigsegv from uninit'd var use in gui mode
- pcp-iostat: handle transient devices more cleanly
- pmwebd: deprecate local context and unix: access
- pmwebd: add _store protocol support as in pmwebapi(3)
- pmlogrewrite: change severity of DYNAMIC_PMID checks
- pmlogger: improvements to derived metric handling
- libpcp: fix a missed context unlock case
- libpcp: allow exclusive flag to be passed via hostspec
- python api: resolve series of corner cases in python APIs
- libpcp: finer-grained manipulation of pmcd timeouts
- libpcp_pmda: plug memory leak with dynamic metric names
- pmdajson: support counter and discrete metrics
- pmdanetfilter: update to use current /proc hierarchy
- pmdaroot: optimised name lookup for direct match case
- pmdaroot: rework partial-systemd-install detection logic
- pmdalinux: add support for guest nice CPU time
- pmchart: update vCPU view to account for guest_nice time
- pmdalogger: fix buffer overrun after read()
- pmevent: consolidate code, merge into pmval sources
- pmdapipe: command output event capture PMDA
- sar2pcp: add support for sysstat-11.0.1 commands
- pmdafreebsd: numerous updates and new kernel metrics
- zbxpcp: Zabbix Agent loadable module for pcp metrics
- build: remove all dynamic library loading during build
- build: switch Mac OS X packaging to /usr/local over /usr
- build: FreeBSD porting and QA work across the whole tree
- build: add gcc/gcc-c++ build requires for Fedora packages
- build: refactor pmda.h to separate out pmdaroot internals
- rc scripts: ensure no tmp_t selinux context on configs
pcp-3.10.8 (30 October 2015)
- pmdaslurm: new PMDA exporting HPC scheduler metrics
- pmdalinux: correctly report high speed network link speeds
- pmdalinux: support for wireless network interfaces
- pmdalinux: add support for NVME devices
- pmie: fqdn functionality, added %c for action strings
- pmlogextract: runtime reducing instance optimizations
- pmlogrewrite: metric name lex pattern change
- pmlogger: change semantics for first logging operation
- rc_pmlogger: shell escape for control file "directory" field
- pcp-atop: update with latest atop features (esp. NFS)
- pcp-atop: fix initial fetch time offset for the globals
- pcp-atop: fix -b/-e options to match man page description
- docs: update Quick Ref Guide with pcp-atop/pcp-atopsar
- docs: remove outdated pmatop man page, see pcp-atop(1)
- python api: fix local-context mode type error
- python api: improve handling of non-ascii instance names
- python api: simple debugging interface to access pmDebug
- python api: ensure an interruptible sleep is used
- python api: add single host/archive pmOption setter methods
- libpcp: add $PCP_DEBUG to initialize pmDebug
- libpcp: extend __pmAF* family with __pmAFsetup
- libpcp: resolve false-context-sharing corner cases
- pcp2graphite: provide a local-context mode option
- pmmgr: add the subtarget-containers option
- pmmgr: add pmlogreduce support
- rc_pmcd: be more careful with auto-install/-remove
- pmcd: allow dynamic switching of monitored containers
- pmdapmcd: add pmcd.client.container diagnostic metric
- pmdaroot: new metric mapping containers to their cgroups
- pmdaroot: add cgroup heuristics for non-systemd setups
- pmdaroot: fix timeliness of creation of socket connection
- pmdads389: add normalized dn cache metrics
- pmdads389: instantaneous vs discrete metric corrections
- pmdads389: send correct error codes when not connected
- pmdamounts: correct a number of 32-bit unsafe calculations
- pmdanfsclient: improve PMDA error handling
- pmdaperfevent: fix invalid metric names
- pmdaperfevent: add reference clock cycles for NHM and WSM
- docs: added upgrade instructions to pmdaperfevent man page
- containers: bindmount /dev/log for syslog messages
- build: fix FreeBSD 10.2 with dtrace probes auto-enabled
pcp-3.10.7 (16 September 2015)
- containers: added the pcp-pmie container
- containers: remove /proc bind mount, conflicts with --pid=host
- pcp-atopsar: new PMAPI sar command based on http://atoptool.nl
- pcp-uptime: fix sigsegv from missing metrics on first fetch
- pmchart: fix memory corruption when restoring Saved Hosts list
- pmchart: fix sigsegv opening a view when no archive available
- rc_scripts: pmie/pmlogger - logged, no longer send cron email
- rc_scripts: pmie/pmlogger - support for control.d directories;
backward-compatible /etc/pcp/{pmie,pmlogger}/control extension
- rc_scripts: pmcd/pmlogger - provide a localhost-only setting
- pmdamic: new PMDA for Intel MIC card metrics
- pmdaproc: export CPU scheduler cgroup metrics from cpu.stat
- pmdalinux: export IPv6 kernel metrics from /proc/net/snmp6
- pmdalinux: fix variable types for several disk metrics
- pmdalinux: printf int64_t and/or uint64_t support (for softnet)
- pmdajson: updates to allow use with python 2.6 installations
- pmcpp: support inline shell command execution
- pmwebd: multiple metrics/instances per log graphite mode speedup
- libpcp: use public domain getdate instead of gnulib version
- libpcp: optimise archive decompression for common operations
- libpcp: revert pdubuf tsearch-based optimisation, fails on OSX
- pmieconf: add dmthin pool utilization monitoring scripts
- python: more care taken in pmOptions destructor (could sigsegv)
- windows port: 64-bit format specifiers throughout code base
- windows port: fix a libpcp dlsym bug and IPC on Windows
- windows port: fix a python crash when free'ing resources
- pmdawindows: fix mem.cache.bytes metric kernel extraction
- perl pmda module: fix double free error in local_sock() routine
(observed to cause pmdamemcache crash during error path exit)
- pmdanginx: correct errors returned for not-running nginx daemon
- pmdamounts: add mount fs usage metrics via statvfs(3)
- pmdapostfix: improve error handling for files vs directories
- pmdanfsclient: fix typos in metric value parsing routines
- pmlogconf: remove tool-specific intervals from tool templates
- pmlogconf: add nginx, elasticsearch and memcache configs
- docs: update quickref guide for easier command pasting
- docs: update references to init scripts, pmlogger control files
- docs: update pmdanginx(1) describing nginx configuration needs
- build: configure.ac preserves optional gcc flags in the build
- build: cater for builds using the latest Vector (now 1.0.2)
- build: fix LGPL license annotations in headers+libraries
- build: current FreeBSD toolchain updates
pcp-3.10.6 (4 August 2015)
- rc_scripts: use syslog over email for error notification
- libpcp: catch bad valfmt encoding in interp.c (SGI BZ 1100)
- libpcp: $PATH-alike lists for derived metrics configurations
- libpcp: add instant() method for derived metrics
- libpcp: fix locking problem in pmGetConfig(3) routine
- python: fix bug in pmsubsys causing timestamp to reset.
- misc: several Coverity scan bug fixes, across the board
- containers: add version and arch to container image filenames
- containers: add crontab entries for containers
- containers: don't fix pcp user since pcp-base already does
- pmlogcheck: teach it about valfmt badness
- pmcpp: major revamp for pmlogger use (include files & macros)
- pmcpp: speed and robustness enhancements
- pmdadm: fix 2 dmcache metrics encoding on big-endian machines
- pmdalinux: fix the mnt/net namespace setns call ordering
- pmdalinux: corrections to the linux disk statistics metadata
- pmdalinux: ipc shared memory metrics for total, rss, and swap
- pmdalinux: new network.softnet metrics (/proc/net/softnet_stat)
- pmdaproc: reduce log spam in pmdaproc unknown state case
- pmdapostgresql: separate DB username from O/S username
- pmdapostgresql: major overhaul for different versions schemas
- pmdapostfix: general log parsing improvements
- pmdajson: handle instances better in the JSON PMDA.
- pmdajson: default to instantaneous metrics and do not attempt
to guess at semantics from type.
- pmdaperfevent: fix typo causing memleak/worse on an error path
- pmdadtsrun: fix parenthesis botch in Perl code
- pmdate: correct year and month offset problems at end of month
- pmlogconf: stop enabling percpu interrupt metrics by default
- pmlogger: improve handling of stale primary socket links
- pmlogger: integration with pmcpp
- pmwebd: elide repeated indom searching in graphite mode
- pcp2graphite: archive mode, reused connections, and python3
- pcp-atop: correct the reporting of some system memory metrics
- pcp-python: allow preferred-python switching at runtime
- pcp-collectl: fix an interrupt subsystem crash
- pcp-collectl: break out append statements for valid syntax
- pcp-collectl: fix recording of data to archive folios
- iostat2pcp: fix off-by-one error in disk rawactive metrics
- docs: corrections to pmdaperfevent man page
- docs: add some missing text to pmGetConfig man page
- docs: correct references to pre-v3 CC-BY-SA license
- docs: update book builds for current Publican variants
- docs: add derived metrics section to guide.html
- rpms: pcp-collector meta-package default-enables pmcd+pmlogger
- build: fix dependency problems causing parallel make races
- build: pcp containers build support via Makepkgs
- build: ensure pmcollectl is installed, man page updates
- build: correct rpm package dependency on pcp-libs version
- build: disable autofsd-probe on (most) platforms, unneeded
- build: allow pmdajson configure on/off build overrides
- build: rework configure test for ps(1) output formats
- build: install python-pcp in pcp-monitor container
- build: get native Solaris builds going again
- build: get native Illumos builds going again
- build: get native Windows builds going again
pcp-3.10.5 (15 June 2015)
- packaging: rebuild pmns in %post in fedora.spec
- build: changes for SUSE SLES 12
- ds389log: fixes to match updated logconv.pl
- build: realpath not needed, and not there on older platforms
- build: fix configure typo causing accidental books build
- packaging: fedora spec updates to be more consistent with Makepkgs
- build: add ppc64le to rpm 64bit lib macro list
- libpcp: pmdaCache: hash determinism across compilers/platforms
- pmda proc: Proc metrics depend on page size
- pcp-atop: fix folio recording replay with DM indom
- pcp-atop: fix bounds checking on disk names (valgrind)
- pmdaproc.sh: ensure pmloggers not started if disabled
- json pmda: tolerate json array instances that are missing
- pmnewlog: usage tweaks
- packaging, build: json pmda: make build and packaging conditional
- configure: add /bin/sh as possible pid==1 candidate
- pmlogger: initialize linger
- pmdalinux: Deprecate hinv.nlv and hinv.map.lvname, add hinv.map.dmname
- python: fix bug found by qa/739, unguarded destructor call
- pmlogger: add comment explaining -o => opts.Lflag usage
- pmnewlog: clean up usage message
- pcp-atop: implement record mode functionality (-w option)
- pcp-atop: resolve a print-buffer overflow on large I/O values
- build: src/include/builddefs.in: promote QA SUBDIRS
- pmie: prevent premature rule evaluation in pmie live mode
- pmlogger: add initial support for running in local context mode
- rc scripts: Use full path to pmlogger in pmlogger_check
- containers: Use pcp-base as the base image for all other PCP containers
- containers: introduce pcp-base container, for layering
- pcp-atop: reading from PCP archives now operational
- rc scripts: Don't fork pmcheck co-processes in a container environment
- pmlogconf: use the correct dm metrics in the atop set
- pmtime: further workarounds for App Nap on Mac OS X
- pcp-atop: archive mode and md/lvm device support
- pmie: fix for ruleset UNKNOWN case
- pmie: add new 'instant' operator, with doc updates
- pmda json: Skip sources with the same name in the JSON PMDA
- pmlogger_check: re-process every logconf group on config updates
- pmlogconf: qa and other updates following recent additions
- pmfind, pmsleep: Use sig_atomic_t within signal handlers
- pmda json: Add python 2/3 compatibility fixes
- packaging: ensure pmiostat and pmatop symlinks end up in system-tools
- pcp-atop: feature-filled PMAPI version of atop
- containers: configuration of optional PMDAs in pcp-collector container
- containers: prototype Dockerfiles and build infrastructure (not integrated)
- build: retire old pmtop sources and man page
- build: allow for multiple man pages below one src subdir
- pmdaproc: add two /proc/pid/status metrics, used by atop
- pmdaproc.sh: fix temp file handling
- packaging: Mirror pcp.spec.in package into fedora.spec
- pmdalinux: restore pmlogrewrite config file name
- build: add struct declarations for application headers
- build: add ncurses configure checking via pkg-config for console tools
- packaging: debian: add missing pmGetOptionalConfig.3.gz entry
- pmda linux_proc: cleanup up the jiffies -> msec calculations
- linux pmda: fix up types for some disk i/o metrics
- jbd2 pmda: add pmlogrewrite support for KERNEL_ULONG metrics
- pmlogextract: fix additional corner case for -d
- pmdalinux: code refactoring, common source files for ipc metrics
- pmdaroot: Fix NULL pointer deref for initial root_container_search(NULL)
- pmdaproc: ensure environ_buf buffer correctly setup on refresh
- docs: correct the pmmktime(3) return code - not a pointer
- pmie: add quiet mode to suppress default diagnostics
- python pmda api: Fix problems when returning fetch errors
- pcp.sh: ensure usage always generated via --help option
- pmdas: handle multiple pmchart config files for pmda installs
- pcp-shping: report shell-ping availability/response times
- pmda linux proc: Fixup some of the time types in linux_proc descriptors
- pmda json: Ignore cache load erros, fix refresh metric bug
- pmda json: Improve the JSON PMDA by use of indom caches
- libpcp python: Improve indom cache handling, add Add pmdaCacheResize()
- libpcp: add a pmGetOptionalConfig(3) for safe use in DSOs
- pmdaroot: fix order of pmdaConnect/Init for slow start case
- build: improve parallel builds, use make %{?_smp_mflags}
- pmdaroot: Add some additional DBG_TRACE_ATTR debug printfs
- build: update mac plist properties, attempt an appnap workaround
- pmdaroot: fix race and segv with short-lived containers
- docs: man/pmda.3: document the hidden variables in pmdaproc.sh
- pmdaproc.sh: rework, retire perl_args and python_args
- pmdalinux: fix container issues, especially with networking metrics
- libpcp: allow duplicates pmns names
- build: work-around bugs in RPM filter-requires
- build, packaging: lots of conditional Requires clauses
- packaging: Wrap pcp-pmda-rpm and pcp-gui with proper %if checks
- docs: Fix location of pcp-webjs gitweb in the pcp guide
- build: spin-rawhide: Extract version info from VERSION.pcp
- build: add rpm conflict handling for pcp command in librapi
- packaging: Add pcp-doc to pcp-compat deps to avoid losing man pages on upgrade
- packaging: Rename pcp-pmda-nvidia rpm to pcp-pmda-nvidia-gpu
- perl binding: refine perl PMDA interface error codes
- build: pmda.h: refine PMDA_PMID macro
- packaging, build: rpm packaging split - split out most PMDAs
- build: Add configure psproc check for /bin/bash for open build systems
- pmdaproc: consistent error code for missing proc.psinfo metrics
- pmda systemd: re-enable with reworked regex in file selection
- packaging: add pcp-compat package for back-compat upgrades
- pmdapostfix: logfiles are root-readable only, drop setuser (RHBZ #1213724)
- pcp-lvmcache: added link, an exact synonym for pcp-dmcache
- docs: add a configure switch for publican brand support
- libpcp: add pmGetVersion
- rc scripts: more cautious approach to using systemctl for Debian
- docs: describe hotproc in the quick reference guide
- pmda json: add an empty "trusted_directory_list" to default config file
- libpcp: new error code PM_ERR_BADSTORE for malformed pmstore input
- hotproc: update the pmdaproc manpage with hotproc info
- hotproc: Allow config file reload
- hotproc: disallow hotproc.conf with global write mode
- pmda postfix: bugfix to report mails submitted using mail program
- hotproc: support disabling via pmstore
- pmdaproc: add help text for new cgroup mem metrics
- pmiostat: Add pmiostat to the list of tools known to pmafm
- pmda root: fix for root_root installer problem on Mac OS X
- pcp-monitor and pcp-collector 'meta' packages to pcp.spec.in
- libpcp: libpcp/check-statics: more Mac OS X changes
- pmda postfix: Force restart for postfix pmda installation to change gid
- libpcp: p_profile.c: add fault injection points in libpcp_fault
- pmnscomp: remove code ... no longer used - deprecated
- libpcp: avoid pmcpp when loading PMNS for the most common usage
- pmda rpm: check return status from pthread_create
- hotproc: add guards for missing ioentry
- pmdumplog: fix cmdline filename handling
- pmdaproc: additional proc memory, namespace and memory cgroup metrics
- python: exception handling improvements
- pmdamounts: fix stack corruption for large mount options
- libpcp: pmns.c pmNameID and pmNameAll error handling fix
- pmwebd: add -I option for opening directories-as-archives for graphite
- pmwebd: graphite-png rendering: tweak graphics
- pmwebd: compressed archive mitigation, skip them in graphite mode
- pmwebd: crash fix: png-rendered multiple graphs with corrupt archives
- pmwebd: handle exit_p requested during graphite data-mass gathering
- pmwebd: fix little memory leak for fts() during interrupted rendering
- pmwebd: add a "-i MIN-INTERVAL" option for graphite time-precision control
- hotproc: cleanups, gracefully handle no schedstat, config cleanup
- pmiostat: accumulate -x arguments, remove duplicate error handling
- ds389log: init metrics with PM_ERR_AGAIN not zero
- pmdads389[log]: make configuration variables actually configurable
- pmdads389: make more resilient to server failures
- libpcp: interp.c: massive performance improvement in archive replay
- build: scripts to set up a buildbot
- libpcp: pmLookupName() error handling, especially for dynamic metrics
- hotproc: fix an off by one error for fname configs
- rc scripts: Allow more than one .NeedInstall to occur at a time
- pmie: remove unnecessary 2 second delay at live startup
- pmiostat: usage message cleanup
- build: pmchart: porting work to current macosx compiler
- packaging: Build pmns in RPM spec for faster startup
pcp-3.10.4 (15 April 2015)
- pmdalinux: fixed kernel.pernode.cpu.* for systems with only one CPU.
- pmdadm: merged in pmdadmcache, added thin provisioning metrics
- pmcd: fix failure to recover from errors sending client attrs
- pmcd: don't advertise presence if -A specified.
- pmchart: fix metric/host selection for containers
- python build: support for epel5 builds using python26 packages
- python api: do not assume unicode is only for python3
- stdpmid: updated the reserved domain number ranges
- libpcp: fix instance request memory corruption for large requests
- libpcp: multi-threading fixes and pdubuf optimisations
- libpcp: fix Avahi-related memory corruption
- libpcp: fix an interpolation performance issue
- libpcp: fix getopt --hostsfile parsing
- libpcp: tighten error handling in __pmGetArchiveEnd()
- pmwebd: enable multi-threading by default
- pmwebd: correct _indom array-allocation logic
- pmwebd: additional ACAO headers to resource responses
- pcp2graphite: python version neutral handling of stdout flush
- pcp-verify: a new utility for verifying collector setups, especially
for use with containers
- pcp sh: fix tempfile leak with sub-commands, refactor pcp-summary
- rc scripts: ensure rundir directories created when needed
- rc scripts: ensure tmpfiles not leftover from helper scripts
- rc_pmcd: add .NeedRemove option for pmcd start script also
- pmpause: lightweight pmsleep extension for a pmcd container
- pmlogcheck: merge previous versions, added documentation and tests
- pmdumplog: new options and new log reading logic
- build: add missing configure check for pkg-config requirement
- build: Dockerfile for a pcp-pmcd container image based on Fedora
- build: get Mac builds going on current Mac OS X (10.9/10.10)
- configure: fix AC_MSG_ERROR parameter passing
- packaging: fix default pmlogger/pmie configs directory location
- packaging: simplify rpm dependencies on pcp-webjs package via %dir
- packaging: relax the allowed-libpfm-version checks a little
pcp-3.10.3 (2 March 2015)
- enhancement: ongoing improvements to the native containers support
http://pcp.io/docs/lab.containers.html
- enhancement: pmlogger on-the-fly one-shot recording
- doc: containers tutorial.
- build: new scripts directory. Contains useful scripts for project
management tasks.
- build: python-pcp no longer required.
- build: python3 now used where available.
https://bugzilla.redhat.com/show_bug.cgi?id=1194324
- build: new --with-papi configure option.
- qa: lots of improvements for robustness, portablity and determinism.
- qa: duplicate PMNS names allowed by default.
- pmdapapi: add papi refresh/read batching: papi.control.batch.
- pmdalinux: improve /proc/cpuinfo parser for irregular formats.
- services: ensure that they start after pmcd.
- libpcp: allow duplicate names to map to the same PMID by default.
- libpcp: duplicate PMNS names allowed by default.
- pminfo: duplicate PMNS names allowed by default. Reverse the semantics of
the -n and -N options.
- pmlogger: duplicate PMNS names allowed by default
- dbpmda: duplicate PMNS names allowed by default
- pmcd: duplicate PMNS names allowed by default. Reverse the semantics of
the -n and -N options.
- pmdumplog: duplicate PMNS names allowed by default.
- pmlogreduce: duplicate PMNS names allowed by default.
- pmlogsummary: duplicate PMNS names allowed by default.
- pmlogcheck: duplicate PMNS names allowed by default.
- pmevent: duplicate PMNS names allowed by default.
- pmchart: add an extra optional chart colour scheme.
- solaris PMDA: duplicate PMNS names allowed by default.
- ganglia2pcp: new utility.
- bug fix: pmlogger: signal delivery may lead to deadlock
- bug fix: libpcp: AF functionality has posix-signal-unsafe elements
pcp-3.10.2 (23 January 2015)
- PMAPI extension: pmParseUnitsStr. Includes python binding
- libpcp/pmcd: protocol-level support for containers
- libpcp_pmda - add pmdaInterfaceMoved() function
- pmdalinux: improve help text for network metrics
- pmdalinux: remove support for devfs device names - replaced by udev
- pmdalinux: rework hinv.map.scsi for longer scsi device names and indom
- pmdalinux: switch to running as a daemon, as root
persistence
- activeMQ: new pmda
- CIFS: new pmda (Common Internet File System)
- pmda unbound: a new PMDA for the Unbound DNS resolver
- pmdapapi: add configure conditional to test for
PAPI_component_info_t->disabled
- pmdapapi: add papi.available.version to output current PAPI version being
used
- pmdapapi: other new metrics
- pmdapapi: drop root requirement for less sensitive papi.available metrics
- pmdapapi: use dynamic metric description
- dbpmda: extend string syntax to include both " and ' delimiters
- rc_pmcd: execute _pmda_setup in the background
- Solaris build improvements:
- Support for Solaris symbol versioning
- use a libcpp exports comment style that works for both Linux and Solaris
- pmwebd: buildability fixes for illumos-based distros
- pmda root: a privileged pmcd co-process
Initial implementation of "pmdaroot", a helper co-process
for pmcd that runs with elevated privileges and is able to
(well, will be able to soon) offer services to pmcd and to
other PMDAs where root access is required
- pmdaroot/libpcp_pmda: interfaces for changing namespaces
- pmlogextract robustness improvements
- add pcp2graphite
- fix security PR1101: unprivileged access to linux proc.* metrics on modern
kernel
- Fedora 1180109: pmda cleanup was killing unrelated python and perl
processes
pcp-3.10.1 (1 December 2014)
- pmda proc: rework existing per-cgroup metrics - no
longer use dynamic metrics, allowing arbitray names
- pmda proc: add many new per-cgroup metrics, audited
definitions (units, etc) for existing metrics.
- perfevent pmda: new libpfm hardware counters agent
- papi pmda: switch to using dynamic metrics
- papi pmda: multiplexing, auto-enabling options
- papi pmda: added a new papi.control.reset metric
- pmwebd: improve /metrics/find for graphite dashboard
- pmwebd: $PCP_SHARE_DIR/webapps - default web content
- docs: clarify web services section in quick guide
- docs: fix books build for current publican versions
- docs: enable building of html book content as well
- linux pmda: improve aarch64 /proc/cpuinfo parsing
- libpcp: fix 64bit endian bug in highres event timers
pcp-3.10.0 (31 October 2014)
- pmlogextract: improve handling of corrupt archives
- linux pmda: add hinv.{cpu,node}.online metrics
- gluster pmda: thread-based timeout for long queries
- linux pmda: fix hinv.cpu.clock refresh logic
- dmcache pmda: add missing instance request handler
- iostat2pcp: cater for iostat output format changes
- packaging: fix debian suggests vs recommends usage
- sample pmda: add pmStore support for some metrics
- python: pmda module object refcounts improvements
- pmiostat: support archives converted from collectl
- FreeBSD pmda: changes for 32-bit platforms
- docs: html validation fixes for the tutorial
- pmie: rework control and config files
- pmlogger: rework control and config files
- pmstat: add pmlogger config as per man page
- proc pmda: parser rework to improve robustness
- proc pmda: per-proc context switch & other metrics
- man pages: pmdiscoverservices(3) and pmfind(1)
- ds389 pmda: 389 Directory Server PMDA
- ds389log pmda: 389 Directory Server log processing PMDA
- linux pmda: add rpc.server and nfs v4.1 ops metrics
- telnet-probe: fix byte-by-byte copying
- papi pmda: default enable when possible
- docs: improve quick reference guide, use man7.org
- pmproxy: fix new client init for secure connections
- pmdiff: minor output formatting improvements
- linux pmda: fix initialization for netstat metrics
- pmlogger: fix small race on exit condition
- timeval refactoring for improved double arithmetic
- python: drop support for versions older than 2.6
- python3: add pcp module support for 3.3 and newer
- build: workaround qmake handling of library paths
- Mac OSX build/install improvements
- pmwebd: support for more javascript demos (including
graphite/grafana - via separate pcp-webjs package)
- pmwebd: extend precision for floating point outputs
- pmwebd: Access-Control-Allow-Origin header additions
- pmwebd: experimental pthread support
- pmwebd: new options file configuration format
- pmmgr: avoid some granularity-edge races
pcp-3.9.10 (5 September 2014)
- Support for native systemd service files for daemons
- Support for nanosecond resolution event timestamps
- Changes to the FreeBSD build to bring it up to date
- libpcp: reduce daemon memory usage with secure sockets
- libpcp: add auto-deflate support for xz compression
- pmie/pmlogger scripts: xz compression support enabled
- pmie/pmlogger scripts: lzo compression support added
- pmlogconf: fix slow pmlogger_daily remote host startup
- pmcd_wait: fixed to handle af_unix sockets correctly
- pmatop: fix help keys
- pmatop: parse standard pcp options (including archives)
- pmstore: support for local-context mode of operation
- pmdiff: additional reporting options, added to /usr/bin
- pmdiff: fix column layout with custom precision setting
- pmlogsummary: fix time window reporting with -S and -T
- pmdapapi: new agent for PAPI hardware event counters
- pmdagfs2: latency metrics for glock grant/demote/queue
- pmdamysql: change metric semantics for "uptime"
- pmdaxfs: fix DSO mode and allow test data injection
- pmdammv: long option support
- docs: numerous updates to the online documentation
- docs: added a quick reference guide for Red Hat users
pcp-3.9.9 (13 August 2014)
- sar2pcp: support for systat version 10.2.0
- pmiostat(1): new monitor tool with iostat-alike output
- pcp-dmcache(1): new monitor tool for dm-cache devices
- pmdalinux: disk.dm.* metric hierarchiy (device mapper)
- pmdalinux: refine device mapper naming for old platforms
- pmdalinux: allow controlled data injection for QA tests
- pmdadmcache: new agent for device mapper cache targets
- pmdainfiniband: correctly initialise switch metrics
- libpcp: global timeout option for service discovery
- libpcp: __pmDiscoverServicesWithOptions() improvements
- libpcp: grok '%<interface' for link-local ipv6 addresses
- libpcp: derived metrics support for new rate() keyword
- python api: many convenience class module extensions
- python api: timeval accessor helper interfaces
- python api: pmUnitStr now uses thread-safe version
- python api: pmNumberStr_r now available from python
- python api: fix derived metrics interface exceptions
- pmlogconf: mark some log-default metrics as log-once
- dbpmda: use the correct (blocking) socket API variants
- pmlogger_daily: fix $PCP_RUN_DIR creation checks
pcp-3.9.8 (16 July 2014)
- Add overlooked Debian packaging metadata updates.