<div dir="ltr"><div style>Я вот так считал:</div><a href="http://search.cpan.org/~mons/Devel-Leak-Cb-0.04/lib/Devel/Leak/Cb.pm">http://search.cpan.org/~mons/Devel-Leak-Cb-0.04/lib/Devel/Leak/Cb.pm</a><br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">2013/1/26 Konstantin S. Uvarin <span dir="ltr"><<a href="mailto:khedin@gmail.com" target="_blank">khedin@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Приветствую.<br>
<br>
  Не так давно возникла задача посчитать активные коллбэки в эниэвентном<br>
приложении (текла память). По этому поводу был написан небольшой модуль,<br>
однако, хочется узнать напоследок, не велосипед ли это?<br>
<br>
  Как использовать:<br>
<br>
    # in initial section<br>
    use Guard::Stat;<br>
    my $stat = Guard::Stat->new;<br>
<br>
    # when running<br>
    my $guard = $stat->guard;<br>
    my $callback = sub {<br>
        # now do useful stuff<br>
<br>
        $guard->finish("taken route 1");<br>
    };<br>
    # ... do whatever I need and call $callback eventually<br>
<br>
    # in diagnostic procedures started via external event<br>
    my $data = $stat->get_stat;<br>
    warn "$data->{running} instances still running";<br>
<br>
Что умеет кроме этого:<br>
<br>
* get_times - показать статистику времени исполнения запросов, если была<br>
дана опция want_time. Статистика приблизительная, много памяти не<br>
занимает, но квантили уже можно примерно посчитать.<br>
<br>
* on_level ([-]n, CODEREF) - выполнить код, если число обрабатываемых<br>
запросов поднялось выше/упало ниже n. Позволяет, например,<br>
контролировать пропускную способность и т.д.<br>
<br>
<a href="https://github.com/dallaylaen/perl-Guard-Stat" target="_blank">https://github.com/dallaylaen/perl-Guard-Stat</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Konstantin S. Uvarin<br>
<br>
<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Best wishes,<br>Vladimir V. Perepelitsa aka Mons Anderson<br><<a href="mailto:inthrax@gmail.com">inthrax@gmail.com</a>>, <<a href="mailto:mons@cpan.org">mons@cpan.org</a>><br>
<a href="http://github.com/Mons">http://github.com/Mons</a>
</div>