Changes committed to git://git.performancecopilot.org/pcp.git dev
build/rpm/fedora.spec | 7
debian/control | 2
debian/libpcp3-dev.install | 1
man/man1/pmfind.1 | 6
man/man1/pmie.1 | 3
man/man3/pmdiscoverservices.3 | 13
man/man3/pmservicediscoveryinterrupt.3 | 92 +++---
qa/003 | 1
qa/654 | 2
qa/654.out | 4
qa/655 | 5
qa/655.out | 506 ++++++++++++++++++++++++++++++++-
qa/766 | 45 ++
qa/766.out | 4
qa/775 | 37 +-
qa/775.out | 4
qa/776 | 45 ++
qa/776.out | 4
qa/946 | 37 +-
qa/946.out | 7
src/include/builddefs.in | 4
src/include/pcp/pmapi.h | 43 ++
src/libpcp/src/avahi.c | 69 ++--
src/libpcp/src/avahi.h | 36 +-
src/libpcp/src/check-statics | 12
src/libpcp/src/discovery.c | 336 +++++++++++++--------
src/libpcp/src/exports | 9
src/libpcp/src/internal.h | 25 -
src/libpcp/src/probe.c | 379 ++++++++++++++----------
src/libpcp/src/probe.h | 8
src/libpcp/src/secureconnect.c | 16 -
src/pmchart/views/GNUmakefile | 2
src/pmchart/views/MemAvailable | 6
src/pmdas/gfs2/control.c | 32 +-
src/pmdas/gfs2/control.h | 3
src/pmdas/gfs2/ftrace.c | 169 ++++-------
src/pmdas/gfs2/ftrace.h | 3
src/pmdas/gfs2/help | 233 ++++++---------
src/pmdas/gfs2/pmda.c | 48 ++-
src/pmdas/gfs2/pmns | 24 -
src/pmdas/gfs2/worst_glock.c | 314 ++++++++++++++------
src/pmdas/gfs2/worst_glock.h | 50 ++-
src/pmdas/linux/pmda.c | 134 ++++----
src/pmdas/linux/proc_meminfo.c | 59 +++
src/pmdas/linux/proc_meminfo.h | 3
src/pmfind/pmfind.c | 187 ++++++++----
src/pmmgr/pmmgr.cxx | 6
47 files changed, 2058 insertions(+), 977 deletions(-)
commit 2d02d11a078c98581c87c743149f33cb487c40c5
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Wed Jul 9 15:19:34 2014 +1000
Remove man page for dev API routine that was removed
commit 9021460e24052b55b6ea651edea3036a2a27d70f
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Tue Jul 8 16:46:43 2014 -0400
Implement overall timeout for service discovery.
-t=N.N, --timeout=N.N for pmfind. N.N is the timeout period
in seconds.
commit ea2518e240eff48f724b32eb23d9301540602f57
Merge: 0ca5503 9c74864
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Tue Jul 8 10:54:51 2014 -0400
Merge remote-tracking branch 'origin/dev' into brolley/dev
commit 9c7486482e6fd21cbfb259f4fb77c34a1839d859
Merge: d97fe0a 9c18608
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Tue Jul 8 19:06:36 2014 +1000
Merge branch 'dev' of git://github.com/pauljevans/pcp into dev
commit 9c186085ffb946eaa713d4e4da3dbb930fbc5782
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Tue Jul 8 09:27:34 2014 +0100
pmdagfs2: Make changes suggested by Nathan's patch for control.c
- the gfs2.control metrics seem to be defined as U32, so we should put
'em into the pmAtomValue "ul" field (this only becomes visible on big
endian boxes, benign otherwise). gfs2_control_check_value comment is
updated to match its existing return code behaviour.
- have also changed the pmAtomValue to ul for both CONTROL_WORSTGLOCK
and CONTROL_FTRACE_GLOCK_THRESHOLD to match their U32 type also.
- tweaks an explicit tracing file location to use the table, and also
get the compiler to work out the string size instead of hard-coding
it in the strncmp call (40).
commit d97fe0adb745f58c9a167fadc88ae3e47c765535
Merge: c72b669 ee4f2f5
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Tue Jul 8 11:56:46 2014 +1000
Merge branch 'dev' of git://github.com/pauljevans/pcp into dev
commit c72b669b691a40cae7264bb41f985477513d5528
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Tue Jul 8 09:45:22 2014 +1000
Update doc location in pmie man page to latest books
commit 6bf0a84d5a6a8b888b0a93567089f6d78d1b7322
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Tue Jul 8 09:44:35 2014 +1000
Update target for Debian bugs while mail setup in flux
commit 0ca55032cae0ce8f7d8eb713f0f1440451546734
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Mon Jul 7 14:51:47 2014 -0400
Replace pmDiscoverServicesAdvanced(1) with pmDiscoverServicesWithOptions(1)
New API takes a pointer pmServiceDiscoveryOptions which is a
versioned struct describing the service discovery options.
commit ee4f2f5382a1894ba9c6a2be95fa411f049d7902
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Mon Jul 7 16:55:04 2014 +0100
pmdagfs2: Set default trace_pipe buffer size and allow control
Set a default value for the size of the trace_pipe buffer (per cpu) upon the
init of the PMDA. Have also created a control metric which allows the user
to
set a custom size for buffer_size_kb up to 128MB (per cpu).
When there is high load on the GFS2 filesystems mounted there will be many
events captured in the trace_pipe, if the buffer is not sufficiently large
enough then entries may be overwritten before being read by the PMDA. By
increasing the size of the buffer we are minimizing the risk of this
occurring and ensuring we catch as many results as possible.
commit 1a516b3d56cb64fe1998cd6655dfd9d87e8572fb
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Mon Jul 7 15:58:18 2014 +0100
pmdagfs2: Update full help text in order to pass qa 469
Update the formatting of the full help text for the pmdagfs2 metrics in
order
for each line of the full helptext to fit nicely in normal sized consoles.
We now pass qa 469 without any warnings :)
Cheers to Nathan for pointing this one out!
commit 36ca15436ae121ee8aa856b8b9fb614d971c6d67
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Mon Jul 7 15:26:43 2014 +0100
pmdagfs2: Add top10 worst_glocks and stop storing intermediate values
Update worst_glock metric to now list the "top 10" computed worst glock for
each GFS2 filesystem mounted on the system. Have at the same time moved to
using dynamic pmns generation for these metrics (as is being used with
sbstats
metrics).
Likewise with the ftrace metrics have removed the use of arrays to store the
intermediate metric values before they are processed resulting in both
reduced
memory usage and speed increases.
Have updated the QA tests to reflect the changes from the increased number
of
metrics (now 293) and add an additional test on the worst_glock metrics.
commit 43b8277540e7cd30e117c26c8bbd10f56c64d7a3
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Fri Jun 20 15:55:06 2014 +0100
pmdagfs2: ftrace.c Stop storing intermediate variables in array for metrics
Have removed the use of arrays to store the intermediate ftrace data for the
tracepoint metrics before they are processed.
This has results in a reduced amount of memory required to process the
tracepoint metrics and at the same time reduced the amount of needless data
copying.
commit 1bd79a5019df21600c4a3c716fc4409102b88166
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Tue May 13 17:45:08 2014 +0100
pmdagfs2: Enable all GFS2 tracepoints on PMDA load
Added gfs2_tracepoints_init() function to enable all GFS2 tracepoints
when pmdagfs2 is enabled in PCP.
commit 9de7a7986517f9af99ab7b18fbaaf1e46c993f9a
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Tue May 13 17:43:53 2014 +0100
pmdagfs2: Fix issue with counting total for gfs2_glock_queue metric
Fixed an issue where we were not counting a metric value for the total
number of gfs2_glock_queue tracepoint calls seen.
commit 5127e7f86d8124b10ba0044c0d8ba4f3ddd8b4f2
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Fri May 9 19:33:56 2014 +0100
pmdagfs2: Correct enum naming scheme worst_glock.h
Correct the naming scheme for the members of an enum in worst_glock.h
the names hadn't be updated since re-factoring a couple of version ago
and this brings them inline with the rest of the enum names in the
header file.
commit bfc7a6e197b2e6ae513caf94480a47a985522bf0
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Fri May 9 19:26:24 2014 +0100
pmdagfs2: Fix variable type in ftrace.c
Fixed an issue where "int" was used instead of "unsigned int" as the
the type for major and minor in ftrace.c these should be unsigned int
to match the value converted in their corresponding sscanf statements.
commit 9c75a60d5f79c8c5144c8944cd0e38068036a67d
Author: Paul Evans <pevans@xxxxxxxxxx>
Date: Fri May 9 19:11:30 2014 +0100
pmdagfs2: Fix reading of gfs2_glock_queue tracepoint
Fix issue where incorrect formatting of the argument for sscanf when
reading gfs2_glock_queue tracepoint entries would mean that queuing
events would not be recorded properly.
Also altered changed the corresponding followed strncmp argument to
reflect this proper reading of the gfs2_glock_queue tracepoint.
commit 55bacd63cc9d872d7c40d67173c899874568b1d9
Merge: 36e11e5 9f8a88c
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Mon Jul 7 11:22:39 2014 -0400
Merge remote-tracking branch 'origin/dev' into brolley/dev
commit 9f8a88c243a20b2ae8d9591018ff835c1ca09839
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Mon Jul 7 09:13:32 2014 +1000
Revert "Update test filter in qa/003 for mem.util.available metric"
This reverts commit 3c479d028f44dccfb0b19a394a0380e8e3f3393a.
commit 5b23cbf06d8d6e58efd50df82b25a13391520c1f
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Fri Jul 4 17:28:11 2014 +1000
Add new view for mem.util.available, capped by mem.physmem.
This shows the amount of memory available for new work without
swapping. See the help text for mem.util.available for more
details.
modified: src/pmchart/views/GNUmakefile
new file: src/pmchart/views/MemAvailable
commit 191828a938cde0880c57cf648d49d0f79bae9d8d
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Fri Jul 4 16:50:45 2014 +1000
Calculate mem.util.available for kernels without MemAvailable in
/proc/meminfo.
Downrev Linux kernels (prior to 3.x) have no support for "MemAvailable"
in /proc/meminfo so calculate this from other fields, similar to upstream
kernel commit 34e431b0ae. Also, if $PCP_QA_ESTIMATE_MEMAVAILABLE is
set in the environment, then force this calculation for QA purposes
(so we can check the calculation matches the kernel exported value).
modified: src/pmdas/linux/pmda.c
modified: src/pmdas/linux/proc_meminfo.c
modified: src/pmdas/linux/proc_meminfo.h
commit cea8c55fafacd8acbdd6ff0ca3c8116ea9e3c869
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Fri Jul 4 11:03:26 2014 +1000
Rework last builddefs domain.h fix for correct pipeline exit status
commit 36e11e50dc327f985ccadb59efc60fefbbe0d263
Merge: 4870755 c7b9ecc
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jul 2 10:48:40 2014 -0400
Merge remote-tracking branch 'origin/dev' into brolley/dev
commit 4870755fe7d28f323f525195cadc35424590db39
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jul 2 10:39:17 2014 -0400
Implement 'timeout' option for 'probe' service discovery mechanism.
timeout=N.N, where N.N is a floating point number specifying the
maximum number of seconds to wait for each connection attempt
to fail. Current default is 0.02 seconds which allows for
50 connection attempts per second per thread.
Other timeout related bugs found and fixed in the process:
- Retry timeout was erroneously set to 1000 seconds and not 0.1
seconds as was intended.
- The retry timeout was being reset to __pmConnectTimeout() on
the first connection attempt.
commit 75e40a1a033df79ca36b4034670bede4ba39ebdf
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jul 2 10:32:21 2014 -0400
Respect FNDELAY in __pmConnect() for secure connections.
The secure (NSPR) implementation of __pmConnect() was
unconditionally applying __pmConnectTimeout() to PR_Connect(),
even when FNDELAY was set for the file descriptor. For FNDELAY
sockets, this timeout is applied again during the subsequent
call to __pmSelectWrite(). As a result, failed connections on
secure sockets were taking twice as long as for non-secure
sockets.
Correct this by using PR_INTERVAL_NO_WAIT when FNDELAY is set.
commit 290fb2c7145552ee818b013c8df73790588be19d
Merge: ad5b5a4 3d71933
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Thu Jun 26 10:50:53 2014 -0400
Merge remote-tracking branch 'origin/dev' into brolley/dev
commit ad5b5a4a490adc6925c6a7609cdf7d2703f83e3a
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Thu Jun 26 10:50:12 2014 -0400
Whitespace fixups for service discovery code.
commit d7122db535b0b699a936e60d143520f0d646f3ae
Merge: e77cc95 6a6251f
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 25 13:49:02 2014 -0400
Merge remote-tracking branch 'origin/dev' into brolley/dev
Conflicts:
src/libpcp/src/exports
commit e77cc955bb755bb9f36727f737a701d081784377
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 25 11:49:30 2014 -0400
Use the minimum required stack for service discovery worker threads.
Tailor the stack size to the given discovery options.
commit 48b9b0574f609f4cd167bb40bcf6eb724cff45c8
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 25 11:26:47 2014 -0400
Implement interruptable avahi service discovery.
Call avahi_simple_poll_iterate() in a loop and check for
interruption on each iteration.
commit 5b37c891470533dae22c2cf5a379a3d6c499e3cf
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Tue Jun 24 17:06:55 2014 -0400
Eliminate statics from the code for service discovyer via active probing.
New connectionOptions now on the stack and passed by address to the
work functions.
commit cae766bb3a39dec02af1b83f916e87c12580c8cc
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Tue Jun 24 16:26:10 2014 -0400
Eliminate static globalOptionsInfo for service discovery.
Now on the stack and is passed down (by address) to the
mechanism-specific APIs. The caller-supplied pointer to the
interrupted flag is now also kept here.
commit 0b14abd3b59e35804efdecf791374f273dfb543d
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Tue Jun 24 15:36:12 2014 -0400
New pmDiscoverServicesAdvanced(1) API function.
Adds a global options string and a pointer to an interrupt flag.
All callers updated.
commit 5d84ce678cf64c75aaf7c64923cf42b862bbb41a
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Thu Jun 19 15:05:01 2014 -0400
Update fedora.spec with changes needed to build for epel5 (el5).
commit 6f1fc52dca28d30d8232dac630ceed122785e718
Merge: e359985 b1fa8d1
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Thu Jun 19 14:47:48 2014 -0400
Merge remote-tracking branch 'origin/dev' into brolley/dev
Conflicts:
src/libpcp/src/discovery.c
src/libpcp/src/exports
commit e35998585c8795781a48a53d66212c90f5f34575
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Thu Jun 19 13:04:52 2014 -0400
Update service discover man pages.
- New parameter to pmDiscoverServices(1)
- New command line flags for pmfind(1)
- New man page for pmServiceDiscoveryInterrupt(1)
commit a8b87e24ec15ed1ec798b1e39f815d528cb0f17a
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Thu Jun 19 12:07:58 2014 -0400
New pmServiceDiscoveryInterrupt() API.
Used to interrupt service discovery. The service discovery
process will be interrupted and will finish normally, returning
whatever results (if any) were discovered to that point.
pmfind(1) now uses this API to implement response to several
common signals: SIGHUP, SIGPIPE, SIGINT, SIGTERM, SIGXFSZ, SIGXCPU.
When one of these signals is received, pmfind(1) will interrupt the
discovery process and print the results obtained up to that point.
Also made the service discovery API re-usable by ensuring that
all options and settings are reset on each use.
commit c2dfe8a2a37532f2af8227896e548e6e096d71e0
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Mon Jun 16 14:15:23 2014 -0400
Update existing pmfind(1) tests to test the -r and --resolve options.
commit 1380d1bbf57327077cc9c0424fe49882c914f958
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Mon Jun 16 14:12:30 2014 -0400
Add a global options argument to the __pmDiscoverServices() internal API.
All callers updated.
Use it to implement the "resolve" option in the API which reqests
resolution of the discovered addresses. Used by
pmfind(1) to implement the -r and --resolve command line options.
|