Pinba - демон для сбора статистики о PHP-скриптах

tony2001

TeaM PHPClub
Pinba - демон для сбора статистики о PHP-скриптах

Кросспост из ЖЖ.

Как некоторые уже знают, мы всё-таки решили вопрос с открытием Пинбы.
Документация, исходники и всё остальное доступно на pinba.org.

Кратко о том, что это и для чего это:
Это демон для сбора статистики о выполнении PHP-скриптов. Статистика есть двух видов - общая (скрипт, время, rusage, объем вывода и др.) и данные по таймерам. Таймеры тут один из ключевых моментов, поэтому они достойны отдельного упоминания, см. ниже.
В то же время, это не standalone-демон, данные собираются отдельным тредом в MySQL. При этом функционал MySQL используется для доступа к данным (которые видны пользователю как обычные таблицы, только read only), т.е. для выборок можно использовать обычный SQL.
Статистика не хранится вечно, это просто невозможно, хранится только актуальная статистика (это понятие для всех разное и конечно это настраивается), так что возьмем для примера 1 000 000 последних запросов или 15 минут - т.е. хранятся все запросы за последние 15 минут, но не более миллиона записей. В зависимости от количества таймеров, эти данные могут занимать от 500Mb до нескольких Gb памяти. На диск, конечно, ничего не пишется.

Подробнее о таймерах:
Таймеры нужны для замеров конкретных частей кода. У таймеров есть "таги" для описания и группировки.
Например, есть у вас коннект к базам - оборачиваете его в таймер с тагами "operation"=>"connect", "db"=>$dbase. В результате мы получаем статистику по одному тагу - "сколько раз в секунду у нас выполняется операция connect и сколько времени она занимает" и по двум - "сколько раз в секунду у нас выполняется операция connect к конкретному серверу и сколько она занимает".
Тагов и таймеров может быть произвольное количество (но про разум не стоит забывать тоже, всё это доп. нагрузка на сервер).

Несколько примеров использования от Фишера: http://pinba.org/wiki/Manual:Usage_examples
Вся документация: http://pinba.org/wiki/Manual

Если вам интересно и/или есть вопросы/предложения - welcome.
 
Сверху