perlmeditation Dallaylaen <p>Not long ago I was hunting a memory leak in a long-running AnyEvent-based application. I thought it would be a great idea to put a special guard object into every closure, so that I could see them created and destroyed.</p> <p>The interface was very simple:</p> <pre> # in initial section use My::Stat::Guard; my $stat = My::Stat::Guard->new; # when running my $guard = $stat->guard; my $callback = sub { $guard->finish("taken route 1"); # now do useful stuff }; # ... do whatever I need and call $callback eventually # in diagnostic procedures started via external event my $data = $stat->get_stat; # now I have some useful numbers in %$data # total: 100 # alive: 19 # dead: 81 # etc. </pre> <p>get_stat also shows data for finished callbacks that still float around, and unfinished ones that left scope (typically both mean something went wrong). </p> <p>The module also allows (when used with want_time => 1 parameter to new) to display (very rough) statistical distribution of guard lifetimes (== total time to process request).</p> <p>I have searched CPAN for such a module before rolling out my own, but haven't found anything except several <a href="">Guard</a>-like modules.</p> <p>So my question is: does such a module exist, and if not, is there a demand for one? </p>