Cricket has the ability to collect statistics of the collector runs.
To turn this on, you need to change '$subtreetimes = 1' in collect-subtrees
and insert the 'subtree-times' subtree from the examples directory into
your config tree.
There are a few things in the Debian version that make this more trouble
than it IMO should:
- /usr/share/cricket/util/get-collector-stats doesn't require
/etc/cricket/cricket-conf.pl and uses hard-coded logdir instead of the
one in the configuration file
- it would be nice to have a debconf option to make the '$subtreetimes = 1'
modification or move it to the general configuration file, so the
modification wouldn't get lost in an upgrade
- the current way to run the collector ('collect-subtrees ALL') doesn't
create timestamps for the individual subtrees (this is minor, if an upgrade
doesn't overwrite /etc/cron.d/cricket)
There is nothing Debian-specific about this; I ship get-collector-stats unmodified except for the first line (path to perl). You are correct that it should use cricket-conf.pl, though, and I will pass on this suggestion. Yes, this really belongs in cricket-conf.pl, and I will pass this on as well. As I understand it (I don't use this feature personally), the statistics are collected on the basis of subtree sets, not individual subtrees, so this is just a consequence of the fact that only one subtree set (ALL) is collected by default. If different subtree sets are to be collected, the user will modify cron.d/cricket and subtree-sets to reflect that, and everything should work as expected with regard to collecting subtree time statistics. Is there something else that you were concerned about?
Sorry, I was unclear - the Debian-specific problem was just that get-collector-stats doesn't look for cricket-conf.pl in /etc/cricket (it does use cricket-conf.pl in the upstream version already). Also, I was under the impression that $Common::global::gLogDir was a Debian-specific addition, so it's OK for the upstream version of get-collector-stats not to use that (but the Debian version should). I was just worried about upgrades overwriting cron.d/cricket, but it doesn't seem to do that. Sorry for not checking that, forget this point. Thanks for your patience,
Ah, I see. Yes, there were a couple of other utility programs which I didn't realize needed access to the config tree. I've patched them all for the next Debian release. gLogDir is present in the upstream release, but collect-subtrees didn't allow for it to be overridden by cricket-conf.pl. Since its naming convention is such that it is a global variable, this was odd, and since it needed to be overridden for the Debian setup, I just allowed it to be passed in from above.
It would be very nice if the $subtreeTimes variable were moved into cricket-conf.pl instead of being hardcoded in collect-subtrees. This way, it could be easily preserved across upgrades, and generally behave more as a configuration variable should.