Приветствую.

  Не так давно возникла задача посчитать активные коллбэки в эниэвентном
приложении (текла память). По этому поводу был написан небольшой модуль,
однако, хочется узнать напоследок, не велосипед ли это?

  Как использовать:

    # 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 mailing list
[email protected] | http://moscow.pm.org

Ответить