[Moscow.pm] Модуль для подсчёта замыканий
Konstantin S. Uvarin
khedin на gmail.com
Сб Янв 26 02:30:37 PST 2013
Приветствую.
Не так давно возникла задача посчитать активные коллбэки в эниэвентном
приложении (текла память). По этому поводу был написан небольшой модуль,
однако, хочется узнать напоследок, не велосипед ли это?
Как использовать:
# in initial section
use Guard::Stat;
my $stat = Guard::Stat->new;
# when running
my $guard = $stat->guard;
my $callback = sub {
# now do useful stuff
$guard->finish("taken route 1");
};
# ... do whatever I need and call $callback eventually
# in diagnostic procedures started via external event
my $data = $stat->get_stat;
warn "$data->{running} instances still running";
Что умеет кроме этого:
* get_times - показать статистику времени исполнения запросов, если была
дана опция want_time. Статистика приблизительная, много памяти не
занимает, но квантили уже можно примерно посчитать.
* on_level ([-]n, CODEREF) - выполнить код, если число обрабатываемых
запросов поднялось выше/упало ниже n. Позволяет, например,
контролировать пропускную способность и т.д.
https://github.com/dallaylaen/perl-Guard-Stat
--
Konstantin S. Uvarin
Подробная информация о списке рассылки Moscow-pm