These patches largely depend on the acache patches from this posting: http://www.beowulf-underground.org/pipermail/pvfs2-developers/2005-November/001606.html
perf-counter-api.patch: -------------------------------------This patch overhauls the performance counter api to add quite a bit of functionality: - ability to make multiple performance counter instances, rather than having one global data structure that all counters go to - ability to define new keys and key mappings for instrumenting different code paths without changing the perf counter API
- ability to dynamically change the history size that is buffered- ability to define whether individual counter values should be preserved or reset on rollover - function to generate a textual representation of the performance counter values (see example in next patch description) - code to convert between the format of the data from this API and what the pvfs2-server code expects, so that we don't break wire compatibility with this patch
- doxygen comments perf-counter-client.patch: -------------------------------------- This patch adds performance counter support to pvfs2-client: - new state machines to periodically rollover the values - instrumentation of the acache- command line (to pvfs2-client) as well as /proc/sys/pvfs2 hooks to modify performance counter parameters (history size, time interval, etc)
- ability to display performance counter contents in procExample (/proc/sys/pvfs2/perf-counters/acache) with the interval time set to 5 seconds, after untarring some files and running find through it a few times is shown below. The patch sets the default interval to 5 minutes but setting it lower makes it easier for me to generate some quick output to show :)
Start times (hr:min:sec): 21:05:17.684 21:05:12.670 21:05:07.647 Intervals (hr:min:sec) : 00:00:02.486 00:00:05.014 00:00:05.023 ------------------------------------------------------------------- ACACHE_NUM_ENTRIES : 112 112 89 ACACHE_SOFT_LIMIT : 5120 5120 5120 ACACHE_HARD_LIMIT : 10240 10240 10240 ACACHE_HITS : 0 1339 195 ACACHE_MISSES : 0 757 1361 ACACHE_UPDATES : 0 805 1421 ACACHE_PURGES : 0 0 0 ACACHE_REPLACEMENTS : 0 0 0 ACACHE_ENABLED : 1 1 1 perf-counter-logging.patch: ----------------------------This patch adds a new gossip mask, "perfcounter", that causes the type of performance counter information shown in the above example to be dumped to the gossip logs whenever a new time interval starts. This is left out of the "verbose" mask by default, because it can generate an enormous amount of output if used improperly. Its only really helpful if you either set the interval to something relatively long or else are willing to deal with very large log files. (The pvfs2-server defaults to a 1 second interval, which is really too fast to use this with).
-Phil
perf-counter-api.patch.gz
Description: application/gzip
perf-counter-client.patch.gz
Description: application/gzip
perf-counter-logging.patch.gz
Description: application/gzip
_______________________________________________ PVFS2-developers mailing list PVFS2-developers@beowulf-underground.org http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers