(not quite ready to pull yet, Mark, although please pull dave
brolleys fix independently, as discussed - thanks!)
Changes committed to git://git.pcp.io/nathans/pcp.git master
Dave Brolley (1):
Github issue #11: Use sig_atomic_t within signal handlers.
Paul Smith (1):
pmtime: further workarounds for App Nap on Mac OS X
Nathan Scott (4):
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
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.
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 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 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.
|