pcp
[Top] [All Lists]

pcp updates: merge dsmith (json pmda and assorted other python fixes) +

To: pcp <pcp@xxxxxxxxxxx>
Subject: pcp updates: merge dsmith (json pmda and assorted other python fixes) + nathans (atop, pmie, local context pmlogger, qa) + paul smith (pmtime for osx)
From: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Thu, 04 Jun 2015 12:31:22 +1000
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
There's still more in the queue, coming later today

Changes committed to git://git.pcp.io/pcp.git master

David Smith (58):
      Added initial version of a systemtap JSON pmda, including array support.
      Fixed 'STAP_JSON_' typo in src/pmns/stdpmid.pcp.
      Added test for python PMDA memory corruption bug.
      Fix python PMDA bug by handling python object reference counts correctly.
      Improve pmdastap_json.python by doing lots of code cleanup/refactoring.
      Lots of code tweaks in pmdastap_json.python to make pylint happier.
      Improve pcp python support by adding refresh metrics callback.
      Removed dead/unused code from src/python/pmda.c
      Improve pcp python support by simplifying refresh metrics callback.
      Handle deleted modules in pmdas/stap_json/pmdastap_json.python.
      Updated .gitignore files.
      Fix python 2.6 support in the python pcp module.
      Hande new json pointer simple metrics (not arrays yet).
      Hande new json pointer array metrics.
      Tweaked pmdastap_json.python to make pylint happier.
      Update stap_json PMID.
      Validate json metric names.
      Add 'units' support to metrics in pmdastap_json.python.
      Log and ignore unknown metadata in pmdastap_json.python.
      Clean up some pylint warnings in pmdastap_json.python.
      Rename 'stap_json' pmda to 'json'.
      Make sure JSON PMDA's domain.h file gets installed.
      In the JSON PMDA, change the default names of data sources.
      Add config file support to the JSON PMDA.
      Fix JSON PMDA config file handling.
      When the JSON PMDA parses metadata, on errors just skip the current 
metric.
      Add a 'data-path' directive to the JSON PMDA metadata.
      Add a 'data-exec' directive support to the JSON PMDA.
      Add 2 small fixes to the JSON PMDA.
      Add a python script that generates ceph metadata for the JSON PMDA.
      Merge with dev.
      Updated PMDA number in JSON PMDA.
      Fix some pylint warnings in the JSON PMDA.
      Fixed rpmbuild problem with the JSON pmda.
      Require the python jsonpointer package for the JSON PMDA.
      Require the python jsonpointer package for the JSON PMDA in pcp.spec.in.
      Fix a python 3 issue in the JSON PMDA.
Fix performance problem in JSON PMDA by reducing the number of JSON data loads.
      Clean up more pylint warnings in pmdastap_json.python.
      Clarify JSON PMDA's __refresh_metrics() function.
      Better add indoms in the JSON PMDA.
      Add a qa test for the JSON PMDA.
      Improve security in the JSON PMDA.
      Add floating-point value support value to the JSON PMDA.
      Make sure the JSON PMDA doesn't overflow the number of clusters/items.
      Update the JSON PMDA default config file.
      Improve indom cache and python bindings.
      Improve the JSON PMDA by use of indom caches.
      Ignore cache load erros in the JSON PMDA.
      Fix a refresh metric bug in the JSON PMDA.
      Fix problems in the python PMDA code when returning fetch errors.
      Added small tweaks in the JSON PMDA.
      Update and add tests for the JSON PMDA.
      Add python 2/3 compatibility fixes in the JSON PMDA.
      Added testing for the JSON PMDA 'generate_ceph_metadata' script.
      Make a small improvement to pmdaCacheResize() and add a qa test for it.
      Added/updated dates in JSON PMDA copyright notices.
      Skip sources with the same name in the JSON PMDA.

Nathan Scott (24):
      build: allow for multiple man pages below one src subdir
      build: retire old pmtop sources and man page, unused for ages
      build: pmdahotproc man page contents now merged with pmdaproc
      pcp-atop: feature-filled PMAPI version of atop
      build: ensure pmiostat and pmatop symlinks end up in system-tools
      pmlogconf: qa and other updates following recent additions
      pmlogger_check: re-process every logconf group on config updates
      pcp-atop: qa updates, archive mode and md/lvm device work
      pcp-atop: update makefile genmap object deps
      pmlogconf: use the correct dm metrics in the atop set
      qa: update expected 201 output for new pmdacache testing
      pcp-atop: reading from PCP archives now operational
      qa: tweak 008 output after disk config changed on smash
      pcp-atop: improved clarity to some diagnostics, more debugging
      qa: fix 1053 EPERM writing to pmda directory as non-root qa user
      pmlogger: add support for running in local context mode
      pmdajson: man pages and build/qa updates from review
      qa: tweak some tests to handle a pre-installed pmdaapache
      pmie: prevent premature rule evaluation in pmie live mode
      qa: update test 183 for new pmnewlog/pmlogger options
      pcp-atop: resolve some compiler warnings, drop dead code
      qa: extend pcp-atop valgrind checking to archives/folios
      pcp-atop: resolve a print-buffer overflow on large I/O values
      qa: remove leftover debugging from test qa/951

Dave Brolley (1):
      Github issue #11: Use sig_atomic_t within signal handlers.

Gerlof Langeveld (1):
      atop: initial import of selected atop-2.1 sources and man pages

Paul Smith (1):
      pmtime: further workarounds for App Nap on Mac OS X

 CHANGELOG                                       |   38
 VERSION.pcp                                     |    2
 Vagrantfile                                     |   22
 build/mac/installer-resources/postinstall       |    3
 build/mac/installer-resources/postupgrade       |    3
 build/rpm/fedora.spec                           |   76
 build/rpm/pcp.spec.in                           |    5
 configure                                       |  133
 configure.ac                                    |   38
 debian/changelog                                |    6
 debian/libpcp-pmda3-dev.install                 |    1
 dev/null                                        |binary
 man/man1/pmatop.1                               |   78
 man/man1/pmlogger.1                             |   44
 man/man3/pmdacache.3                            |   25
 man/retired/pmdahotproc.1                       |  315 -
 man/retired/pmtop.1                             |  147
 qa/.gitignore                                   |    1
 qa/008.out.smash                                |   28
 qa/1052                                         |  314 +
 qa/1052.out                                     |  183 +
 qa/1053                                         |  105
 qa/1053.out                                     |   28
 qa/1079                                         |   69
 qa/1079.out                                     | 1505 +++++++++
 qa/1080                                         |   47
 qa/1080.out                                     |   17
 qa/115                                          |    9
 qa/145                                          |   11
 qa/179                                          |    8
 qa/179.out                                      |    4
 qa/183.out                                      |    3
 qa/201                                          |    6
 qa/201.out                                      |   92
 qa/359                                          |   12
 qa/359.out                                      |    1
 qa/364                                          |   31
 qa/366.out                                      |   11
 qa/518                                          |   10
 qa/536.out                                      |    8
 qa/553                                          |   16
 qa/553.out                                      |   24
 qa/555                                          |   58
 qa/578                                          |    3
 qa/581                                          |    2
 qa/622                                          |    7
 qa/647                                          |    3
 qa/660                                          |   90
 qa/660.out.4                                    |   13
 qa/660.out.46                                   |   13
 qa/666                                          |   11
 qa/666.out                                      |    2
 qa/667                                          |   81
 qa/667.out                                      |   20
 qa/718                                          |    9
 qa/718.out                                      |    4
 qa/720                                          |   35
 qa/720.out                                      |    2
 qa/722                                          |   44
 qa/722.out                                      |  454 ++
 qa/729                                          |    6
 qa/730                                          |    2
 qa/742                                          |   10
 qa/743                                          |   13
 qa/744                                          |   22
 qa/745                                          |   24
 qa/750                                          |   25
 qa/752                                          |   40
 qa/753                                          |    4
 qa/753.out                                      |    8
 qa/754                                          |   16
 qa/754.out                                      |    4
 qa/761.out                                      |   22
 qa/767                                          |   38
 qa/767.out                                      |   20
 qa/769                                          |    4
 qa/829                                          |    6
 qa/832                                          |   18
 qa/842                                          |    2
 qa/842.out                                      |    8
 qa/843                                          |   53
 qa/843.out                                      |   28
 qa/862                                          |   41
 qa/862.out                                      |    2
 qa/874                                          |   30
 qa/874.out                                      |   12
 qa/903                                          |    7
 qa/903.out                                      |    2
 qa/904                                          |   36
 qa/904.out                                      |   22
 qa/914.out                                      |   10
 qa/919                                          |    1
 qa/926                                          |   34
 qa/926.out                                      |  567 ---
 qa/926.out.32                                   |  567 +++
 qa/926.out.64                                   |  567 +++
 qa/947                                          |   50
 qa/947.out                                      |    7
 qa/948                                          |   75
 qa/948.out                                      |   21
 qa/951                                          |    1
 qa/956                                          |   55
 qa/956.out                                      |   25
 qa/967                                          |    1
 qa/967.out                                      |   12
 qa/972                                          |   31
 qa/972.out                                      |    4
 qa/985                                          |   43
 qa/985.out                                      |   34
 qa/986                                          |   11
 qa/991                                          |   15
 qa/999                                          |    5
 qa/GNUmakefile                                  |    2
 qa/admin/check-vm                               |    6
 qa/admin/pcp-daily                              |    2
 qa/archives/GNUmakefile                         |    3
 qa/archives/mk.atop.sh                          |   67
 qa/archives/pcp-atop.0                          |binary
 qa/archives/pcp-atop.folio                      |    9
 qa/archives/pcp-atop.index                      |binary
 qa/archives/pcp-atop.meta                       |binary
 qa/common.check                                 |   20
 qa/common.filter                                |    2
 qa/common.python                                |    3
 qa/ganglia/GNUmakefile                          |    2
 qa/ganglia/gangliatest.32/GNUmakefile           |   18
 qa/ganglia/gangliatest.32/boottime.rrd          |binary
 qa/ganglia/gangliatest.32/bytes_in.rrd          |binary
 qa/ganglia/gangliatest.32/bytes_out.rrd         |binary
 qa/ganglia/gangliatest.32/cpu_aidle.rrd         |binary
 qa/ganglia/gangliatest.32/cpu_idle.rrd          |binary
 qa/ganglia/gangliatest.32/cpu_nice.rrd          |binary
 qa/ganglia/gangliatest.32/cpu_num.rrd           |binary
 qa/ganglia/gangliatest.32/cpu_speed.rrd         |binary
 qa/ganglia/gangliatest.32/cpu_system.rrd        |binary
 qa/ganglia/gangliatest.32/cpu_user.rrd          |binary
 qa/ganglia/gangliatest.32/cpu_wio.rrd           |binary
 qa/ganglia/gangliatest.32/disk_free.rrd         |binary
 qa/ganglia/gangliatest.32/disk_total.rrd        |binary
 qa/ganglia/gangliatest.32/load_fifteen.rrd      |binary
 qa/ganglia/gangliatest.32/load_five.rrd         |binary
 qa/ganglia/gangliatest.32/load_one.rrd          |binary
 qa/ganglia/gangliatest.32/mem_buffers.rrd       |binary
 qa/ganglia/gangliatest.32/mem_cached.rrd        |binary
 qa/ganglia/gangliatest.32/mem_free.rrd          |binary
 qa/ganglia/gangliatest.32/mem_shared.rrd        |binary
 qa/ganglia/gangliatest.32/mem_total.rrd         |binary
 qa/ganglia/gangliatest.32/part_max_used.rrd     |binary
 qa/ganglia/gangliatest.32/pkts_in.rrd           |binary
 qa/ganglia/gangliatest.32/pkts_out.rrd          |binary
 qa/ganglia/gangliatest.32/proc_run.rrd          |binary
 qa/ganglia/gangliatest.32/proc_total.rrd        |binary
 qa/ganglia/gangliatest.32/swap_free.rrd         |binary
 qa/ganglia/gangliatest.32/swap_total.rrd        |binary
 qa/ganglia/gangliatest.64/GNUmakefile           |   18
 qa/ganglia/gangliatest.64/boottime.rrd          |binary
 qa/ganglia/gangliatest.64/bytes_in.rrd          |binary
 qa/ganglia/gangliatest.64/bytes_out.rrd         |binary
 qa/ganglia/gangliatest.64/cpu_aidle.rrd         |binary
 qa/ganglia/gangliatest.64/cpu_idle.rrd          |binary
 qa/ganglia/gangliatest.64/cpu_nice.rrd          |binary
 qa/ganglia/gangliatest.64/cpu_num.rrd           |binary
 qa/ganglia/gangliatest.64/cpu_speed.rrd         |binary
 qa/ganglia/gangliatest.64/cpu_system.rrd        |binary
 qa/ganglia/gangliatest.64/cpu_user.rrd          |binary
 qa/ganglia/gangliatest.64/cpu_wio.rrd           |binary
 qa/ganglia/gangliatest.64/disk_free.rrd         |binary
 qa/ganglia/gangliatest.64/disk_total.rrd        |binary
 qa/ganglia/gangliatest.64/load_fifteen.rrd      |binary
 qa/ganglia/gangliatest.64/load_five.rrd         |binary
 qa/ganglia/gangliatest.64/load_one.rrd          |binary
 qa/ganglia/gangliatest.64/mem_buffers.rrd       |binary
 qa/ganglia/gangliatest.64/mem_cached.rrd        |binary
 qa/ganglia/gangliatest.64/mem_free.rrd          |binary
 qa/ganglia/gangliatest.64/mem_shared.rrd        |binary
 qa/ganglia/gangliatest.64/mem_total.rrd         |binary
 qa/ganglia/gangliatest.64/part_max_used.rrd     |binary
 qa/ganglia/gangliatest.64/pkts_in.rrd           |binary
 qa/ganglia/gangliatest.64/pkts_out.rrd          |binary
 qa/ganglia/gangliatest.64/proc_run.rrd          |binary
 qa/ganglia/gangliatest.64/proc_total.rrd        |binary
 qa/ganglia/gangliatest.64/swap_free.rrd         |binary
 qa/ganglia/gangliatest.64/swap_total.rrd        |binary
 qa/ganglia/gangliatest/GNUmakefile              |   18
 qa/group                                        |   13
 qa/json/GNUmakefile                             |   14
 qa/json/ceph_data1.json                         |  402 ++
 qa/json/ceph_schema1.json                       |  333 ++
 qa/linux/containers-docker-1.5.0-root-003.tgz   |binary
 qa/pmdas/GNUmakefile                            |    2
 qa/pmdas/GNUmakefile.install                    |    7
 qa/pmdas/dynamic/.gitignore                     |    2
 qa/pmdas/dynamic/GNUmakefile                    |    2
 qa/pmdas/dynamic/GNUmakefile.install            |    2
 qa/pmdas/dynamic/dynamic.c                      |    1
 qa/pmdas/memory_python/.gitignore               |    3
 qa/pmdas/memory_python/GNUmakefile              |   38
 qa/pmdas/memory_python/GNUmakefile.install      |    5
 qa/pmdas/memory_python/Install                  |   28
 qa/pmdas/memory_python/Remove                   |   26
 qa/pmdas/memory_python/pmdamemory_python.python |   98
 qa/pmdas/slow_python/pmdaslow_python.python     |   24
 qa/src/GNUlocaldefs                             |    2
 qa/src/rtimetest.c                              |    2
 qa/src/test_pcp.python                          |   50
 qa/src/test_pmcc.python                         |    7
 qa/src/test_pmnswalk.python                     |   71
 qa/src/test_webapi.python                       |   38
 qa/src/torture_cache.c                          |   44
 qa/valgrind-suppress                            |   28
 qa/valgrind-suppress-3.5.0                      |   41
 qa/valgrind-suppress-3.8.1                      |   43
 scripts/pcp-push                                |    3
 scripts/unspin-rawhide                          |    2
 src/GNUmakefile                                 |    1
 src/ganglia2pcp/ganglia2pcp                     |    6
 src/include/builddefs.in                        |    6
 src/include/pcp.conf.in                         |    5
 src/include/pcp/impl.h                          |    5
 src/include/pcp/pmda.h                          |    4
 src/libpcp/src/AF.c                             |   20
 src/libpcp/src/access.c                         |    1
 src/libpcp/src/auxconnect.c                     |   13
 src/libpcp/src/auxserver.c                      |   11
 src/libpcp/src/discovery.c                      |    2
 src/libpcp/src/exports                          |    1
 src/libpcp/src/getdate.y                        |    8
 src/libpcp/src/internal.h                       |    3
 src/libpcp/src/loop.c                           |  866 -----
 src/libpcp/src/p_instance.c                     |    2
 src/libpcp_pmda/src/cache.c                     |   74
 src/libpcp_pmda/src/exports                     |    6
 src/libpcp_pmda/src/pduroot.c                   |    7
 src/libpcp_pmda/src/root.c                      |    4
 src/pcp/.gitignore                              |    1
 src/pcp/GNUmakefile                             |    2
 src/pcp/atop/.gitignore                         |   10
 src/pcp/atop/GNUmakefile                        |   79
 src/pcp/atop/atop.1                             | 3856 ++++++++++++------------
 src/pcp/atop/atop.c                             | 1912 ++++++++---
 src/pcp/atop/atop.h                             |  256 +
 src/pcp/atop/atoprc.5                           |  790 ++--
 src/pcp/atop/atopsar.1                          | 2154 ++++++-------
 src/pcp/atop/atopsar.c                          | 2601 +++++++++++++++-
 src/pcp/atop/deviate.c                          | 1662 ++++++++--
 src/pcp/atop/hostmetrics.map                    |   12
 src/pcp/atop/ifprop.c                           |  406 +-
 src/pcp/atop/ifprop.h                           |   11
 src/pcp/atop/ifpropmetrics.map                  |   11
 src/pcp/atop/modules.c                          |  111
 src/pcp/atop/netstats.h                         |  140
 src/pcp/atop/parseable.c                        |  728 ++++
 src/pcp/atop/parseable.h                        |    6
 src/pcp/atop/pcp-atop.1                         | 1545 +++++++++
 src/pcp/atop/pcp-atop.py                        |  940 -----
 src/pcp/atop/pcp-atoprc.5                       |  371 ++
 src/pcp/atop/pcp-atopsar.1                      | 1073 ++++++
 src/pcp/atop/photoproc.c                        | 1616 +++++-----
 src/pcp/atop/photoproc.h                        |  163 -
 src/pcp/atop/photosyst.c                        | 3616 ++++++++++++----------
 src/pcp/atop/photosyst.h                        |  240 +
 src/pcp/atop/procdbase.c                        |  404 ++
 src/pcp/atop/procmetrics.map                    |   54
 src/pcp/atop/showgeneric.c                      | 3186 ++++++++++++++++++-
 src/pcp/atop/showgeneric.h                      |  137
 src/pcp/atop/showlinux.c                        | 2308 ++++++++++++--
 src/pcp/atop/showlinux.h                        |  330 ++
 src/pcp/atop/showprocs.c                        | 1943 +++++++++++-
 src/pcp/atop/showsys.c                          | 2066 ++++++++++++
 src/pcp/atop/systmetrics.map                    |  241 +
 src/pcp/atop/various.c                          | 1220 ++++++-
 src/pcp/atop/version.c                          |   67
 src/pcp/dmcache/pcp-dmcache.py                  |    5
 src/pcp/free/pcp-free.py                        |    5
 src/pcp/numastat/pcp-numastat.py                |    7
 src/pcp/uptime/pcp-uptime.py                    |   12
 src/pcp2graphite/pcp2graphite.py                |  196 -
 src/pmatop/pmatop.py                            |  168 -
 src/pmcd/pmdaproc.sh                            |   13
 src/pmcd/rc_pmcd                                |    1
 src/pmcd/src/config.c                           |    9
 src/pmchart/pmchart.info.in                     |    2
 src/pmcollectl/pmcollectl.py                    |  243 -
 src/pmdas/.gitignore                            |    2
 src/pmdas/GNUmakefile                           |    4
 src/pmdas/activemq/Cache.pm                     |    1
 src/pmdas/activemq/JVMGarbageCollection.pm      |    1
 src/pmdas/activemq/JVMMemory.pm                 |    1
 src/pmdas/activemq/JVMMemoryPool.pm             |    1
 src/pmdas/activemq/Queue.pm                     |    1
 src/pmdas/activemq/RESTClient.pm                |    1
 src/pmdas/activemq/TimeSource.pm                |    1
 src/pmdas/apache/pmlogconf.summary              |    1
 src/pmdas/dmcache/pmdadmcache.python            |   18
 src/pmdas/gluster/pmdagluster.python            |   10
 src/pmdas/json/GNUmakefile                      |   57
 src/pmdas/json/Install                          |   30
 src/pmdas/json/Remove                           |   27
 src/pmdas/json/config.json                      |    7
 src/pmdas/json/generate_ceph_metadata           |  325 +-
 src/pmdas/json/generate_ceph_metadata.py        |  438 +-
 src/pmdas/json/pmdajson.1                       |   62
 src/pmdas/json/pmdajson.python                  | 2161 ++++++++++---
 src/pmdas/linux/namespaces.c                    |   17
 src/pmdas/linux/namespaces.h                    |    8
 src/pmdas/linux/pmda.c                          |   66
 src/pmdas/linux_proc/contexts.c                 |   20
 src/pmdas/linux_proc/contexts.h                 |   11
 src/pmdas/linux_proc/pmda.c                     |    9
 src/pmdas/linux_proc/proc_pid.c                 |    4
 src/pmdas/papi/GNUmakefile                      |    2
 src/pmdas/papi/Install                          |    8
 src/pmdas/papi/help                             |    2
 src/pmdas/papi/papi.c                           |  176 -
 src/pmdas/papi/pmdapapi.1                       |   14
 src/pmdas/papi/pmns                             |    1
 src/pmdas/pmcd/src/pmcd.c                       |   54
 src/pmdas/root/docker.c                         |    5
 src/pmdas/simple/pmdasimple.python              |    4
 src/pmdas/stap_json/GNUmakefile                 |   74
 src/pmdas/stap_json/Install                     |   56
 src/pmdas/stap_json/Remove                      |   50
 src/pmdas/stap_json/pmdastap_json.python        | 2424 +++++++--------
 src/pmdas/stap_json/pylint.out                  |   17
 src/pmdas/unbound/pmdaunbound.python            |   11
 src/pmdas/zswap/pmdazswap.python                |    5
 src/pmfind/pmfind.c                             |    4
 src/pmgadgets/pmgadgets.info.in                 |    2
 src/pmie/pmie.service.in                        |    6
 src/pmie/rc_pmie                                |    5
 src/pmie/src/pmie.c                             |    6
 src/pmiostat/pmiostat.py                        |   74
 src/pmlogconf/tools/atop                        |  171 -
 src/pmlogconf/tools/atop-httpstats              |    9
 src/pmlogconf/tools/atop-proc                   |   46
 src/pmlogconf/tools/atop-summary                |   11
 src/pmlogconf/tools/localdefs                   |    1
 src/pmlogger/pmlogger.service.in                |    8
 src/pmlogger/pmlogger_check.sh                  |    4
 src/pmlogger/pmnewlog.sh                        |    6
 src/pmlogger/rc_pmlogger                        |   18
 src/pmlogger/src/fetch.c                        |   40
 src/pmlogger/src/pmlogger.c                     |   95
 src/pmmgr/pmmgr.service.in                      |    6
 src/pmns/stdpmid.pcp                            |    9
 src/pmproxy/pmproxy.service.in                  |    7
 src/pmsleep/pmsleep.c                           |    3
 src/pmtime/pmtime.info.in                       |    2
 src/pmtop/.gitignore                            |    1
 src/pmtop/GNUmakefile                           |   33
 src/pmtop/pmtop.c                               | 1005 ------
 src/pmview/pmview.info.in                       |    2
 src/pmwebapi/pmwebd.service.in                  |    2
 src/python/pcp/mmv.py                           |   71
 src/python/pcp/pmapi.py                         |  149
 src/python/pcp/pmcc.py                          |   32
 src/python/pcp/pmda.py                          |  217 -
 src/python/pcp/pmgui.py                         |   12
 src/python/pcp/pmi.py                           |   24
 src/python/pcp/pmsubsys.py                      |   44
 src/python/pmapi.c                              |   52
 src/python/pmda.c                               |  659 ++--
 362 files changed, 40087 insertions(+), 15402 deletions(-)

Details ...

commit e17a6f217d109f7340a3f98e1985801ab15cf6a7
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Thu Jun 4 09:44:15 2015 +1000

    qa: remove leftover debugging from test qa/951

    Otherwise it can fail like this...  :)

    --- 951.out 2015-06-03 17:13:18.000000000 +1000
    +++ 951.out.bad     2015-06-03 19:45:14.353808677 +1000
    @@ -101,6 +101,7 @@ DATE: raw OK
     DATE: rate OK

     === live pmcd cases ===
    +cp: cannot create regular file ‘/tmp/eek’: Permission denied
     DATE: OK: instant sum_inst == sum_inst instant
     DATE: UNKNOWN: rate instant ...
     DATE: OK: instant sum_inst == sum_inst instant

commit 24bfd6fc25011e13693e139441a3d10915460b19
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jun 3 17:06:18 2015 +1000

    pcp-atop: resolve a print-buffer overflow on large I/O values

    Switch to using snprintf for a number of problematic cases in
    the system reporting.  This resolves the immediate problem,
    but will do a complete audit and followup with more hardening
    work as well.

commit f070d16735a68e2ee7bc14879483ef24c08fbad4
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jun 3 16:55:59 2015 +1000

    qa: extend pcp-atop valgrind checking to archives/folios

commit 5aeebae669a3c4f803af6e823af684b8a4466630
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jun 3 16:46:11 2015 +1000

    pcp-atop: resolve some compiler warnings, drop dead code

commit 510b76b8acc4dcc37eb92d0452338e291846cfb9
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jun 3 15:19:08 2015 +1000

    qa: update test 183 for new pmnewlog/pmlogger options

commit f0bf06c607217977ed06aaa0c79f261429b0de5c
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jun 3 14:42:04 2015 +1000

    pmie: prevent premature rule evaluation in pmie live mode

    Resolve an issue introduced in commit d21bb6c017696 - some
    code Ken and I thought was unnecessary turned out to be in
    use after all.  The rest of that commit remains, it's just
    the snippet of code that re-adjusts the Task scheduling vs
    the current time that is affected by slow reading on stdin
    (which can happen if rules are manually entered).

    Added a new qa/862 test to exercise the situation and fix.

commit 8c35f7fd5f3b59687965788e8b4ce3a43bb90cd4
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jun 3 12:17:12 2015 +1000

    qa: tweak some tests to handle a pre-installed pmdaapache

commit a591978bd5835ca1310651f5f1bce737008fcd02
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jun 3 12:16:10 2015 +1000

    pmdajson: man pages and build/qa updates from review

    Some small QA updates to 1052 as per review.  Extended the
    generic QA filters to deal with json at the PMNS top level.

    Complete man page addition for the new pmdaCache interface,
    and some initial/basic pmdajson.1 content as well.

    Finally, fedora.spec has also been updated to produce a new
    pcp-pmda-json package.

commit 82227d6dbf445148f2c147f897b8670f39092f5b
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed Jun 3 10:58:54 2015 +1000

    pmlogger: add support for running in local context mode

    Adds support to the pmlogger utility for running without a
    local pmcd process.  Test qa/948 is added to exercise this.

    This is in the context of RHBZ #1129539.

commit 45c514a7c27fa9bfd6326b0fa0cf6abdb66821d4
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Jun 2 17:37:31 2015 +1000

    qa: fix 1053 EPERM writing to pmda directory as non-root qa user

commit ad75a22d5d198ad81e129b22961773e76164b769
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Jun 2 15:31:50 2015 +1000

    pcp-atop: improved clarity to some diagnostics, more debugging

commit 2574353a468fe8b6b99431d500778037e8276d40
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Jun 2 15:31:41 2015 +1000

    qa: tweak 008 output after disk config changed on smash

commit 2ba9408898860b60359193b175dee6bafe356aea
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Jun 2 13:51:08 2015 +1000

    pcp-atop: reading from PCP archives now operational

    pcp --archive=xxx atop now works.  There is still scope for a
    bit of further improvement, such that the first fetches auto-
    skip over the initially-empty result sets (log-once data).

    Some refactoring of fetch and instance lookup code here also,
    to share code and place detailed diagnostics on those paths.
    Small documentation updates here on usage message and man page
    to refer to upstream website.

commit f1e7db381ba30e20792ee34de15bf949f5cf31ff
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Jun 2 11:35:36 2015 +1000

    qa: update expected 201 output for new pmdacache testing

commit 6a2cdb44b36777f97a73174b3e05f13da372065b
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Tue Jun 2 11:34:58 2015 +1000

    pmlogconf: use the correct dm metrics in the atop set

commit 221b5d64fb89ad2846272db9642bcc3b6db86487
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Mon Jun 1 17:04:00 2015 +1000

    pcp-atop: update makefile genmap object deps

commit db6207e04c947fdf40381b3ec8c953458a3e1ccc
Author: Paul Smith <psmith@xxxxxxxxxx>
Date:   Mon Jun 1 16:57:05 2015 +1000

    pmtime: further workarounds for App Nap on Mac OS X

commit 6d518554a6156e275fb033fc2a82c24cfdea0562
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Mon Jun 1 16:55:48 2015 +1000

    pcp-atop: qa updates, archive mode and md/lvm device work

    Some code refactoring also - move PMAPI setup code over to
    various.c along with similar code.  Harden dynamic memory
    allocation for the cpu/net/disk indoms - add valgrind test
    case to verify this.

commit 6c3234ac9e6b881350ebd9929a085a3720e0fe49
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu May 28 15:28:47 2015 -0500

    Skip sources with the same name in the JSON PMDA.

    * src/pmdas/json/pmdajson.python: If asked to load two or more JSON
      sources with the same name, only load the first.

commit f1f810a07106e01f6b7cd8ff794ec040645f8ef4
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu May 28 14:45:55 2015 -0500

    Added/updated dates in JSON PMDA copyright notices.

    * src/pmdas/json/pmdajson.python: Added copyright header.
    * src/pmdas/json/generate_ceph_metadata: Ditto.
    * src/pmdas/json/GNUmakefile: Updated copyright date.
    * src/pmdas/json/Install: Ditto.
    * src/pmdas/json/Remove: Ditto.

commit 30badc1faa20a4c3661cd31db4700919670422ba
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu May 28 14:36:41 2015 -0500

    Make a small improvement to pmdaCacheResize() and add a qa test for it.

    * src/libpcp_pmda/src/cache.c (pmdaCacheResize): Mark the header as dirty
      after updating the maximum inst.
    * qa/201: Add a cache resize test case.
    * qa/src/torture_cache.c: Ditto.
    * qa/201.out: Updated.

commit be86503be1b7ff7281a616e158d3e1aa7db1f78e
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Thu May 28 10:44:49 2015 +1000

    pmlogger_check: re-process every logconf group on config updates

commit 375a0b8facb32bf907775db2366789009afaaa9a
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Thu May 28 10:42:53 2015 +1000

    pmlogconf: qa and other updates following recent additions

    Also add apache.uptime to the apache summary set; atop will make
    use of this if its available.

commit 18bb8a22cd38db4acb8f0b56f5e91842db572555
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Wed May 27 15:41:19 2015 -0500

    Added testing for the JSON PMDA 'generate_ceph_metadata' script.

    * src/pmdas/json/generate_ceph_metadata: Add a '-t' testing option.
    * qa/1052: Add generate_ceph_metadata testing.
    * qa/1052.out: Updated.
    * qa/json/ceph_data1.json: New JSON data file.
    * qa/json/ceph_schema1.json: Ditto.
    * qa/json/GNUmakefile: New file.
    * qa/GNUmakefile: Add new 'json' subdirectory.

commit 4da3763dcbabeceaaa1ef5d75104639c68c8be77
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date:   Wed May 27 14:41:24 2015 -0400

    Github issue #11: Use sig_atomic_t within signal handlers.

    The variables "discoveryFlags" and "finished" should use the
    data type "sig_atomic_t" within pmfind and pmsleep respectively.

commit cb4bd15a73ac5436098ed26728de9ac1fdeab470
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Wed May 27 09:49:05 2015 -0500

    Add python 2/3 compatibility fixes in the JSON PMDA.

    * src/pmdas/json/pmdajson.python: Make python 3 changes.
    * src/pmdas/json/generate_ceph_metadata: Ditto.
    * build/rpm/fedora.spec: Add python "six" rpm requirement.
    * build/rpm/pcp.spec.in: Ditto.

commit fddda23f3d2464ca712c143a806e12ce8b998ab3
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Wed May 27 16:07:38 2015 +1000

    build: ensure pmiostat and pmatop symlinks end up in system-tools

commit a8e45bbc7a27606932c21d2bb2d4643890ae13f5
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Mon May 25 16:33:57 2015 +1000

    pcp-atop: feature-filled PMAPI version of atop

    This is a new implementation of the artist formerly known as pmatop,
    based on the upstream atop sources (directly).  It's thus a far more
    complete version of atop, and is now a binary rather than a python
    script.  Many, many additional metrics are now used by this version
    compared to our original version, and these are reflected in updates
    to the pmlogconf configuration.

    QA work and verification of some more obscure features remain (such
    as LVM/MD device handling), these will follow in subsequent commits.

    Tackles Red Hat BZs 1160811, 1018575 and 1195429.

commit 4e733241327a6341047862b4f599311e2bcd988f
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue May 26 12:27:08 2015 -0500

    Update and add tests for the JSON PMDA.

    * qa/1052: Save and restore indom cache files. Also don't turn pmlogger
      off.
    * qa/1052.out: Update output.
    * qa/1053: New test for JSON PMDA install/removal testing.
    * qa/1053.out: Test output.
    * qa/group: Add new test.

commit fc4166c13e9dfbff6e7f46a8d0c571b9aa7b1b5d
Author: Gerlof Langeveld <gerlof.langeveld@xxxxxxxxxxx>
Date:   Mon May 25 15:43:09 2015 +1000

    atop: initial import of selected atop-2.1 sources and man pages

commit 2ddee8650132505677048b9c4716b2dd54717990
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Mon May 25 15:35:48 2015 +1000

    build: pmdahotproc man page contents now merged with pmdaproc

commit 8feededfd52aa318011e5658e6f348337b1c83fa
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Mon May 25 15:34:33 2015 +1000

    build: retire old pmtop sources and man page, unused for ages

commit 8359122d0f9bfd3e16067744f60f643c798eb856
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Mon May 25 15:29:27 2015 +1000

    build: allow for multiple man pages below one src subdir

commit ce8e51e921fc7cd227a59b8d1f3aba753caa8646
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Wed May 20 11:35:35 2015 -0500

    Added small tweaks in the JSON PMDA.

commit ec3eda60c4600c9c4c24811767369c6a60136c12
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue May 19 15:31:28 2015 -0500

    Fix problems in the python PMDA code when returning fetch errors.

    * src/python/pmda.c (fetch_callback): If we got an unsupported metric
      type, don't fall into the error code tuple parsing code. In the error
      code tuple parsing code, clear out any previous PyArg_Parse() error,
      since it isn't an error to return an error. If we got a parse error, but
      a tuple code of 1, return an error.

commit 27976c5bd80b65a076b3a8f444ffb17b11d0af25
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Fri May 15 13:52:24 2015 -0500

    Fix a refresh metric bug in the JSON PMDA.

    * src/pmdas/json/pmdajson.python (JsonSource.refresh_metrics): When
      refreshing metrics, don't refresh array metric itself.

commit 4b739c4e9345e3923610093a9ad3fe87dde05e91
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Fri May 15 12:29:07 2015 -0500

    Ignore cache load erros in the JSON PMDA.

    * src/pmdas/json/pmdajson.python (IndomCache.load): Ignore cache load
      errors (most likely a non-existent cache).

commit 8130092807aaac704ae724d22abb87101e497cf1
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Fri May 15 11:36:42 2015 -0500

    Improve the JSON PMDA by use of indom caches.

    * src/pmdas/json/pmdajson.python (IndomCache): Add saving and loading the
      indom cache.
      (JsonSource): Remember the previously used IDs for clusters, metrics,
      and indoms using indom caches.

commit 90d21313e9ec074729a231aaeebabb31260f48d5
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Fri May 15 11:35:34 2015 -0500

    Improve indom cache and python bindings.

    * src/python/pcp/pmda.py (pmdaIndom::__iter__): New function to add an
      iterator.
      (pmdaIndom::inst_name_lookup): New function. Move functionality from
      pmda class.
      (pmdaIndom::cache_load): New function.
      (pmdaIndom::cache_mark_active): Ditto.
      (pmdaIndom::cache_mark_inactive): Ditto.
      (pmdaIndom::cache_resize): Ditto.
      (MetricDispatch::replace_indom): Handle a numeric indom or a pmdaIndom.
      (MetricDispatch::inst_name_lookup): Just call
      pmdaIndom::inst_name_lookup.
    * src/libpcp_pmda/src/cache.c (load_cache): Handle either the original
      cache file format or the new.
      (save_cache): Save cache files in the new format.
      (pmdaCacheResize): New function.
    * src/libpcp_pmda/src/exports: Export pmdaCacheResize().
    * src/include/pcp/pmda.h: Add pmdaCacheResize() prototype.

commit a4c4aa47b32caa33e5c870b0c4d5cea6d36369cd
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Wed Apr 29 15:34:07 2015 -0500

    Update the JSON PMDA default config file.

    * src/pmdas/json/config.json: Add an empty "trusted_directory_list" to the
      default JSON PMDA config file.

commit f785342cefd2370b7dfc974c4976a7ad3574d441
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Apr 14 14:31:23 2015 -0500

    Make sure the JSON PMDA doesn't overflow the number of clusters/items.

    * src/pmdas/json/pmdajson.python (JsonSource.__parse_array_metadata): Make
      sure we don't overflow the maximum number of metrics.
      (JsonSource.__parse_metadata): Ditto.
      (JsonPMDA.__load_directory_list): Make sure we don't overflow the
      maximum number of clusters.

commit 511f5603c64227ccaab33fdf7d3c75074af0063b
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Apr 14 12:42:13 2015 -0500

    Add floating-point value support value to the JSON PMDA.

    * src/pmdas/json/generate_ceph_metadata (decode_type): Add 'double' support.
    * src/pmdas/json/pmdajson.python (JsonSource.__parse_array_metadata): Add
      'double' support.
      (JsonSource.__parse_metadata): Ditto.

commit 91477a2ca7f25f024281a6e8bf39a4e9f5ac9d4f
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Apr 7 16:23:04 2015 -0500

    Improve security in the JSON PMDA.

    * src/pmdas/json/pmdajson.python: Improve security by adding a
      'trusted_directory_list' config file option. If a JSON data source
      has a 'data-exec' command to run to get the JSON data, it is run in one
      of two ways. If the JSON data source was found in the 'directory_list'
      set of directories, the command is run as user 'nobody'. If the JSON
      data source was found in the 'trusted_directory_list', the command is
      run as root. In addition, all trusted directories and metadata files
      must be owned by root and can't be group or world writable.

commit e1b3511b410570db3908c31d15ebc359b4856015
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Apr 7 09:24:20 2015 -0500

    Add a qa test for the JSON PMDA.

    * qa/1052: New test file.
    * qa/1052.out: New test file output.
    * qa/group: Add JSON PMDA test.

commit db5a9d71b2e27cf4292624fe4cdc13ec4dfd63b7
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Apr 7 09:09:10 2015 -0500

    Better add indoms in the JSON PMDA.

commit dfbecba5e25524a9c584c85dcd94332744b0eeee
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 31 10:23:56 2015 -0500

    Clarify JSON PMDA's __refresh_metrics() function.

    * src/pmdas/json/pmdajson.python (JsonPMDA.__refresh_metrics): Add
      comments better describing what is going on.

commit 8cc60af3003425bc5889737e76ba5b8450688961
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 31 09:54:08 2015 -0500

    Clean up more pylint warnings in pmdastap_json.python.

commit 05b590b1cc09d78eba6cbc0013fe43db84faa22e
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 31 09:43:13 2015 -0500

    Fix performance problem in JSON PMDA by reducing the number of JSON data 
loads.

    * src/pmdas/json/pmdajson.python (JsonSource.fetch): If needed, reload the
      JSON data for this source.
      (JsonPMDA.__fetch): New function.
      (JsonPMDA.__refresh_metrics): Only load JSON metadata/data for new
      sources.

commit 54224a2134b1040a371191c90ffabecead993370
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Wed Mar 25 09:20:48 2015 -0500

    Fix a python 3 issue in the JSON PMDA.

    * src/pmdas/json/pmdajson.python: Convert all "dict.has_key('FOO')"
      references to "'FOO' in dict" for python 3 support.

commit 9fc617f01d602fd8e6a1937192b870bbcb1d7523
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 24 15:05:40 2015 -0500

    Require the python jsonpointer package for the JSON PMDA in pcp.spec.in.

    * build/rpm/pcp.spec.in: Be sure to require the python jsonpointer
      package.

commit 309ef87cf3da2690c435d6495360f6bb349dc075
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 24 12:34:03 2015 -0500

    Require the python jsonpointer package for the JSON PMDA.

    * build/rpm/fedora.spec: Be sure to require the python jsonpointer
      package.

commit 9ae5876c33fa04c81910de49ac15c17031998760
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 24 11:32:34 2015 -0500

    Fixed rpmbuild problem with the JSON pmda.

    * src/pmdas/json/generate_ceph_metadata: Renamed from
      generate_ceph_metadata.py. The '.py' suffix caused rpmbuild to think it
      was a python library, not a python script. A python library gets
      compiled into a .pyc file.
    * src/pmdas/json/GNUmakefile: Updated.

commit a590462eb54d884c637c2c2135f7d3711f52db62
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 24 10:03:34 2015 -0500

    Fix some pylint warnings in the JSON PMDA.

commit a94b997a21cc5886f214e01c3a6fedd085b4078f
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 24 09:47:30 2015 -0500

    Updated PMDA number in JSON PMDA.

commit 5861c7bb8e2dc11b478395feb4c80529bccd9849
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 10 16:48:59 2015 -0500

    Merge with dev.

commit 1b1807a0e4f6ceddbde22aef24fae21a95159d92
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu Mar 5 16:43:06 2015 -0600

    Add a python script that generates ceph metadata for the JSON PMDA.

    * src/pmdas/json/generate_ceph_metadata.py: New file.
    * src/pmdas/json/GNUmakefile: Install the new script.

commit 29d999d2ea242ac9868776857857bf796644658e
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu Mar 5 16:11:34 2015 -0600

    Add 2 small fixes to the JSON PMDA.

    * src/pmdas/json/pmdajson.python: Add a 'log' function to all
      classes. Allow more than one '.' in metric names.

commit 6aaa073dedeaf0205ab744fa04b1053a86b03ca5
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Wed Mar 4 13:30:46 2015 -0600

    Add a 'data-exec' directive support to the JSON PMDA.

    * src/pmdas/json/pmdajson.python (__load_json_data): Add the capability to
      run a command to get the JSON data.
      (load): Call new __preparse_metadata function to parse metadata looking
      for items needed to find the JSON data.
      (__preparse_metadata): New function.

commit d866e4e02523c7eefbbdb143a574f3ccdcceb3e3
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Mar 3 10:56:03 2015 -0600

    Add a 'data-path' directive to the JSON PMDA metadata.

    * src/pmdas/json/pmdajson.python (JsonSource.__parse_metadata): Add
      'data-path' optional metadata directive to override the defailt data
      path.

commit 8b848ae3a8e3ab9fe023ac0e92a25f69398b3f47
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Mar 2 16:24:48 2015 -0600

    When the JSON PMDA parses metadata, on errors just skip the current metric.

    * src/pmdas/json/pmdajson.python (JsonSource.__parse_array_metadata): If
      we get an error when setting the name, instead of erroring out, just
      skip the metric.
      (JsonSource.__parse_metadata): Ditto.

commit 551878328fc8b457380db264b42f16735d8dd3c3
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Mar 2 11:43:05 2015 -0600

    Fix JSON PMDA config file handling.

    * src/pmdas/json/pmdajson.python (JsonPMDA.__init__): Set up config file
      absolute path variable (instead of using a relative path).
      (__load_config_file): Use config file path variable.

commit 42b92f026de56565bc0d4db0f3d40d2b12caf067
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu Feb 26 14:49:43 2015 -0600

    Add config file support to the JSON PMDA.

    * src/pmdas/json/pmdajson.python: Load directory list to monitor from the
      config file.
    * src/pmdas/json/config.json: Added default config file.
    * src/pmdas/json/GNUmakefile: Install config file.

commit 2cb89f77be16119e7a59a6caf918fc32414ef985
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Feb 24 13:21:17 2015 -0600

    In the JSON PMDA, change the default names of data sources.

    * src/pmdas/json/pmdajson.python: Change default name of the metadata file
      to 'metadata.json' and the default name of the data file to 'data.json'.

commit 86b11286ef10861bed190d1830dcb74c107df114
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Feb 24 12:24:36 2015 -0600

    Make sure JSON PMDA's domain.h file gets installed.

    * src/pmdas/json/GNUmakefile: Install 'domain.h'.

commit 45a8bfccd8dcc4320b5c77c2c41bdc732aec3270
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Feb 24 10:59:56 2015 -0600

    Rename 'stap_json' pmda to 'json'.

    * src/pmdas/json/pmdajson.python: Renamed from 'pmdastap_json.python' and
      start work to make it less systemtap specific and more generic.
    * src/pmdas/GNUmakefile: Makes 'json' instead of 'stap_json'.
    * src/pmdas/json/GNUmakefile: Renamed (since directory name changed) and
      updated.
    * src/pmdas/json/Install: Ditto.
    * src/pmdas/json/Remove: Ditto.
    * src/pmns/stdpmid.pcp: Rename 'STAP_JSON' to 'JSON'
    * src/pmdas/stap_json/pylint.out: Deleted.

commit cce1f8a4b17980461235455986018ce2c31cd12e
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Feb 23 15:26:19 2015 -0600

    Clean up some pylint warnings in pmdastap_json.python.

commit 15a762403d51c03edf7b1d66495c7e32066ccf9f
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Feb 23 15:08:02 2015 -0600

    Log and ignore unknown metadata in pmdastap_json.python.

commit 91111134b95cf468ed32289a2e2a891154225943
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Feb 23 12:23:20 2015 -0600

    Add 'units' support to metrics in pmdastap_json.python.

commit c8f2f6d570b1a632dd1a2beec35150a586e0609c
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Feb 16 15:14:25 2015 -0600

    Validate json metric names.

    * src/pmdas/stap_json/pmdastap_json.python: Validate metric names.

commit da56190f61d4bfadf2ba238f49d9f3c3ea09575b
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Feb 16 14:29:10 2015 -0600

    Update stap_json PMID.

commit bd40a6721fe9897257e560e2cb1bd3cd6cb52ecc
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Feb 3 09:46:07 2015 -0600

    Tweaked pmdastap_json.python to make pylint happier.

commit 66cc450d8106c558fb5ad6486405aca4bc473b53
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Jan 27 11:12:10 2015 -0600

    Hande new json pointer array metrics.

    * src/pmdas/stap_json/pmdastap_json.python (Metric.__init__): Add
      'index_pointer' field.
      (SystemtapModule.__refresh_indoms): Add array support.
      (SystemtapModule.__parse_array_metadata): Renamed and reworked from
      __parse_array_schema.
      (SystemtapModule.fetch): Updated to handle fetching array values using
      jsonpointers.

commit fcf0e9739bb4a32759c1a1c345f4585cd5d39cbe
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu Jan 22 13:37:39 2015 -0600

    Hande new json pointer simple metrics (not arrays yet).

    * src/pmdas/stap_json/pmdastap_json.python (Metric): Add 'pointer' member
      variable, rearrange a bit.
      (SystemtapModuleObject.__init__): Look for metadata file, not schema
      file.
      (SystemtapModuleObject.__load_json_metadata): Renamed and reworked from
      __load_json_schema.
      (SystemtapModuleObject.load): Load metadata instead of schema.
      (SystemtapModuleObject.__parse_metadata): Renamed and reworked from
      __parse_schema.

commit de90566d84971cc2d2fd2b55457e297013bd40f9
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu Dec 4 15:46:44 2014 -0600

    Fix python 2.6 support in the python pcp module.

    * src/python/pmda.c (update_indom_metric_buffers): If the python
      ctypes.Structure class only supports the older buffer interface (as in
      python 2.6), handle it.

commit a1f9c4822845f4ebbd4b34aa239379ae25b8ed91
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Fri Nov 21 11:39:37 2014 -0600

    Updated .gitignore files.

commit e2c967e15ffc2a7fd9669e652fecc07424ba5ff8
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Fri Nov 21 11:35:01 2014 -0600

    Handle deleted modules in pmdas/stap_json/pmdastap_json.python.

commit b2e3b5cdd15ddbe57c14b2eaa04cfbfebe2e190b
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Fri Nov 14 15:03:20 2014 -0600

    Improve pcp python support by simplifying refresh metrics callback.

    * src/python/pcp/pmda.py (__init__): Updated.
      (clear_indoms): Clear existing list/dictionaries instead of creating new
      ones.
      (clear_metrics): Ditto.
      (run): Call the updated pmda_dispatch().
      (__refresh_metrics): Deleted.
      (set_refresh_metrics): Simplified.
    * src/python/pmda.c (pmns_refresh): No longer release the dictionary
      reference.
      (update_indom_metric_buffers): New function.
      (pmda_refresh_metrics): Move indom/metrics buffer handling to
      update_indom_metric_buffers.
      (pmda_dispatch): Use update_indom_metric_buffers() to handle buffers.
      (get_need_refresh): Delete function.

commit 4a265214337a5313466fdd7586f00bdefc417f2c
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Tue Nov 11 16:29:56 2014 -0600

    Removed dead/unused code from src/python/pmda.c

    * src/python/pmda.c: Removed old code surrounded by '#ifdef
      PyBUF_SIMPLE'.

commit 38983a531d83544d3f5d8c73348d0a7c543e90e8
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Wed Oct 29 12:58:40 2014 -0500

    Improve pcp python support by adding refresh metrics callback.

    * src/python/pcp/pmda.py (__refresh_metrics): New function that wraps the
      user's refresh metrics callback function. After the user's refresh
      metrics callback function is called, update the class internal data.
      (set_refresh_metrics): Wrapper around cpmda.set_refresh_metrics().
    * src/python/pmda.c (maybe_refresh_all): New function that calls the
      refresh metrics callback.
      (pmns_refresh): If there isn't anything to do, just exit.
      (pmns_desc): Call maybe_refresh_all().
      (pmns_pmid): Ditto.
      (pmns_name): Ditto.
      (pmns_children): Ditto.
      (fetch): Ditto.
      (store): Ditto.
      (text): Ditto.
      (pmda_rehash): New function that gets an indom and metric list and
      passes them to pmda_refresh_metrics().
      (pmda_refresh_metrics): New function that handles the indom and metric
      lists and calls pmdaRehash().
      (get_need_refresh): New function.
      (set_refresh_metrics): New function that takes a refresh metrics
      callback.

commit f4866a28b5e925f2f1ff6f429cdc7f8a317b4e6e
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu Oct 9 14:17:30 2014 -0500

    Lots of code tweaks in pmdastap_json.python to make pylint happier.

commit 3ed376c8f93b60a1c37e8db91fbe632e06b05ecc
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Thu Oct 9 11:00:35 2014 -0500

    Improve pmdastap_json.python by doing lots of code cleanup/refactoring.

commit 8e624655c4ed4afbd25d53bfd1435938be01bf78
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Oct 6 14:32:39 2014 -0500

    Fix python PMDA bug by handling python object reference counts correctly.

    * src/python/pmda.c (namespace_refresh): Increment the python object
      reference count when needed.
      (pmid_oneline_refresh): Ditto.
      (pmid_longtext_refresh): Ditto.
      (indom_oneline_refresh): Ditto.
      (indom_longtext_refresh): Ditto.
    * src/python/pmapi.c (getOptionsFromList): Remove decrementing python
      object reference when it wasn't needed.

commit 44cb24dbf41efce7b7b7ecad8499fe971176171f
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Oct 6 14:27:12 2014 -0500

    Added test for python PMDA memory corruption bug.

    * qa/843.out: Ditto.
    * qa/group: Added test 843.
    * qa/pmdas/GNUmakefile: Added the memory_python directory.
    * qa/pmdas/GNUmakefile.install: Ditto.
    * qa/pmdas/memory_python/.gitignore: New file.
    * qa/pmdas/memory_python/GNUmakefile: Ditto.
    * qa/pmdas/memory_python/GNUmakefile.install: Ditto.
    * qa/pmdas/memory_python/Install: Ditto.
    * qa/pmdas/memory_python/Remove: Ditto.
    * qa/pmdas/memory_python/pmdamemory_python.python: Ditto.
    * src/pmns/stdpmid.pcp: Added 'memory_python' define.

commit c76f00905ee681cabeb3badd5c0f4110b7cf1d86
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Mon Oct 6 13:47:52 2014 -0500

    Fixed 'STAP_JSON_' typo in src/pmns/stdpmid.pcp.

commit 7705256e64cffa912dfe431c6a70795232ac6035
Author: David Smith <dsmith@xxxxxxxxxx>
Date:   Fri Oct 3 14:10:05 2014 -0500

    Added initial version of a systemtap JSON pmda, including array support.

<Prev in Thread] Current Thread [Next in Thread>
  • pcp updates: merge dsmith (json pmda and assorted other python fixes) + nathans (atop, pmie, local context pmlogger, qa) + paul smith (pmtime for osx), Mark Goodwin <=