[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