Comments (32)
Ребят, а не подскажите - будите тэги делать или уже забросили проект?
from pinboard.
Да, планируем. Руки не дошли.
Yes, in plans. So far, we are busy.
from pinboard.
А, случаем, не подскажите - когда можно ожидать эту, очень востребованную, функцию?:)
Спасибо за ответ!
from pinboard.
Если честно, не раньше ноября. Ребята все загружены пока.
from pinboard.
Хотел бы узнать как продвигается процесс. Готов внести свой посильный вклад, если дадите направление (куда копать и что/как делать).
from pinboard.
В ветке tags реализована предварительная версия поддержки тегов. Напишу в чем она заключается:
Поддержка request tags
В pinba можно помечать тегами запросы с помощью pinba_tag_set()
. Эти теги выводятся во всех вкладках, кроме Overview. Примеры:
Поддержка timer и timertag
Pinba позволяет таймерами замерять отдельные участки кода и помечать таймеры тегами. Pinboard, пока только в разделе Live, показывает рядом с запросом ссылку "Timers details" в случае, если с запросом пришли таймеры. Ссылку видно на скрине выше.
При переходе по ссылке открывается страничка с детализацией по запросу. Пример:
Таймеры группируются по значениям тега, который встречается во всех таймерах. В примерах это тег category
, который встречается со значениям memcache
, doctrine
, template
. Вывод без группировки пока не реализован, но будет.
Сейчас выводятся только реал-тайм данные из таблиц request
, timer
, tag
, timertag
. Планируется реализовать сохранение таймеров для запросов, которые логгируются во вкладки Request time, Memory peak usage, CPU peak usage, Statuses.
Если у вас есть пожелания или замечания по реализации данной вещи, велкам.
from pinboard.
Небольшой комментарий (пожелание).
Самое главное, что нужно (по крайней мере в очень большой части проектов) — это график в разрезе категории/тега. То есть я хочу знать, сколько времени сейчас в среднем по всем запросам занимает каждая функциональность проекта или часть кода.
Посмотреть подробности по конкретному запросу — это профайлинг. Посмотреть среднюю информацию по всем запросам сразу — мониторинг. Вот мониторинга очень не хватает, чтобы начать пользоваться pinboard.
from pinboard.
Да, прорабатываю этот вопрос. В текущей реализации тегов нельзя построить отчеты по хосту: либо только по всем запросам либо в рамках обращения к определенному скрипту
Я уточнял этот момент у Антона тут, он на данный момент предложил добавлять hostname
, server_name
как теги к таймерам. Пойдем пока таким путем. Это, соответственно, будет требовать небольших телодвижений со стороны кода приложения.
Планируем добавить вкладку Timers, там показывать графики для с распределением по операциям. Будем 2 разреза:
- по тегу вида
group=category::operation
- по двум тегам
group=category::operation
иserver=server_name
, в случае, когда несколько серверов БД, memcached и т.д.
from pinboard.
Это, соответственно, будет требовать небольших телодвижений со стороны кода приложения.
Пока нет других вариантов, это вполне нормально. У кого возникнут сложности с правкой кода, тот просто может использовать разные инстансы мониторинга для разных проектов.
Спасибо за ответ, буду следить. 👍
from pinboard.
Мы используем Symfony и Битрикс. Для первого мы сделали бандл https://github.com/intaro/pinba-bundle, которые замеряет все основные параметры, для второго – небольшая заготовка кода https://gist.github.com/muxx/9cc8b65a9105c8ba18a8.
По крайней мере в этих двух решениях мы добавим фиксацию в тегах hostname
и server_name
. Призываю всех делать аналогичные модули под другие фреймворки, которые вы используете.
from pinboard.
Мы у себя (пинбой мониторится битрикс) таймерами фиксируем время отработки компонентов и виджетов. Для вывода топа самых прожорливых компонент сделали визуализацию отчета tag_report2 у себя в форке: https://github.com/Andrewus/pinboard/tree/tags
from pinboard.
А можешь показать, как это у вас выглядит, хотя бы в общем? И также интересно, как вы собираете цифры для компонентов — хакнули битрикс или без затрагивания ядра? Потому как нам удалось только сделать, как я упоминал выше и собирать только данные по БД.
from pinboard.
Нам удалось добиться построения таких графиков:
Для этого в таймерах нужно указывать 4 параметра в виде:
$pinbaData = pinba_get_info();
$tags = [
'__hostname' => $pinbaData['hostname'], //имя сервера, на котором исполняется PHP
'__server_name' => $pinbaData['server_name'], //домен сайта
'server' => '10.0.0.123', //адрес сервер сервиса (БД, memcached и др.)
'category' => 'memcached',
'group' => 'memcached::get',
];
pinba_timer_add($tags, $item['TIME']);
Это в ветке tags
и требует последней версии pinba из ветки devel
.
from pinboard.
В этой ветке наблюдаю небольшой баг при агрегации данных
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'timer_id' in 'field list'
Видимо проблема вот тут: https://github.com/intaro/pinboard/blob/tags/src/Pinboard/Command/AggregateCommand.php#L490
from pinboard.
@superstas миграции выполняли https://github.com/intaro/pinboard/wiki/Update#update-between-1x-versions?
from pinboard.
@muxx да выполнял.
from pinboard.
@superstas а таблицы timer, tag, timertag есть?
from pinboard.
Да.
from pinboard.
@superstas есть проблема, ага. Подтяните ветку и выполните:
console migration:execute --down 20140519022332
console migration:migrate
from pinboard.
@muxx спасибо
from pinboard.
Добрый день.
Обновился сегодня на ветку tags и попробовал сделать console migration:migrate
Вылезла такая ошибка:
[PDOException]
SQLSTATE[HY000]: General error: 1005 Can't create table 'pinba.ipm_pinba_tag_info_group_server_name' (errno: 140)
Вручную этот запрос в базе не выполняется тоже:
CREATE TABLE `ipm_pinba_tag_info_group_server_name` (
-> `tag1_value` varchar(64) DEFAULT NULL,
-> `tag2_value` varchar(64) DEFAULT NULL,
-> `req_count` int(11) DEFAULT NULL,
-> `req_per_sec` float DEFAULT NULL,
-> `hit_count` int(11) DEFAULT NULL,
-> `hit_per_sec` float DEFAULT NULL,
-> `timer_value` float DEFAULT NULL,
-> `timer_median` float DEFAULT NULL,
-> `ru_utime_value` float DEFAULT NULL,
-> `ru_stime_value` float DEFAULT NULL,
-> `index_value` varchar(256) DEFAULT NULL
-> ,`p90` float DEFAULT NULL,
-> `p95` float DEFAULT NULL,
-> `p99` float DEFAULT NULL
-> ) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='tagN_info:group,__server_name::90,95,99'
-> ;
Версия pinba для mysql:
Package: pinba-engine-mysql-5.5
Version: 1.0.0-4~dotdeb.3
from pinboard.
Добрый день.
Ошибка скорей всего из-за того, что перцентили появились в версии pinba 1.1.0
https://github.com/tony2001/pinba_engine/wiki/Reports#percentiles
from pinboard.
У меня таймеры/теги работают корректно только на pinba из ветки devel
, т.к. в master
pinba бывает падает в момент аггрегации данных по таймерам.
from pinboard.
Действительно с версией pinba из devel всё получилось.
Правда собирать её намучился - всё версия api для mysql не подходила.
Но один раз получилось (повторить успех так и не удалось), так что я сразу сделал .deb-файл и ещё Dockerfile для сборки образа с pinba и pinboard.
Кому надо - берите и пользуйтесь:
https://github.com/akademic/docker_pinboard
from pinboard.
Графики с персентилями для таймеров пока отключил, т.к. pinba для таймеров выдает на данный момент некорректные персентили. В коде просто закомментировано, кто хочет, может просто раскомментировать.
В итоге в этой задаче остались:
- общие графики "Hit count" и "Total timer value"
- Возможность посмотреть таймеры по отдельным live-запросам
- Логгирование таймеров вместе с медленными запросами
- Поддержка request tag
Смержил в master.
from pinboard.
Друзья, подскажите пожалуйста в чем может быть причина.
При агрегации данных выдает следующее:
[PDOException]
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tags' in 'field list'
Ставил Pinboard из git,сама пинба последней версии.
from pinboard.
Проблему исправил пересозданием таблицы request, почему-то столбцы tags, tags_cnt не создались.
from pinboard.
Товарищи, удалось ли решить проблему?
akademic commented on 22 Aug 2014
Добрый день.
Обновился сегодня на ветку tags и попробовал сделать console migration:migrate
Вылезла такая ошибка:[PDOException]
SQLSTATE[HY000]: General error: 1005 Can't create table
'pinba.ipm_pinba_tag_info_group_server_name' (errno: 140)
from pinboard.
Двумя комментариями ниже было объяснена причина проблемы.
from pinboard.
1it, добрый день!
Проблема в том, что при выполнении полного SQL-файла таблица request создается не полностью.
- Удалите таблицу request
- Посмотрите в SQL файле схему ее создания.
- Выполните запрос на создание таблицы request, убедитесь что столбцы tags, tags_cnt созданы.
Удачи. Если что-то не получится, напишите.
from pinboard.
Спасибо, но имел ввиду эту ошибку - SQLSTATE[HY000]: General error: 1005 Can't create table 'pinba.ipm_pinba_tag_info_group_server_name' (errno: 140)
Если я правильно понял надо собирать версию 1.1
from pinboard.
Еще раз, я писал выше:
У меня таймеры/теги работают корректно только на pinba из ветки devel, т.к. в master pinba бывает падает в момент аггрегации данных по таймерам.
Данная таблица типа pinba:
CREATE TABLE `ipm_pinba_tag_info_group_server_name` ( `tag1_value` varchar(64) DEFAULT NULL, `tag2_value` varchar(64) DEFAULT NULL, `req_count` int(11) DEFAULT NULL, `req_per_sec` float DEFAULT NULL, `hit_count` int(11) DEFAULT NULL, `hit_per_sec` float DEFAULT NULL, `timer_value` float DEFAULT NULL, `timer_median` float DEFAULT NULL, `ru_utime_value` float DEFAULT NULL, `ru_stime_value` float DEFAULT NULL, `index_value` varchar(256) DEFAULT NULL ,`p90` float DEFAULT NULL, `p95` float DEFAULT NULL, `p99` float DEFAULT NULL ) ENGINE=PINBA DEFAULT CHARSET=latin1 COMMENT='tagN_info:group,__server_name::90,95,99'
и для ее создания требуется pinba c ветки devel
, например, этой версии tony2001/pinba_engine@5df9ba0
from pinboard.
Related Issues (20)
- Filter by script name in Live HOT 1
- xss
- Не обновляются данные
- Вкладка с таймерами пустая HOT 18
- Медленная работа агрегации HOT 10
- Server Overview : File not found. HOT 2
- Problems with run migrations HOT 2
- Problems with executing migrations HOT 3
- Incorrect page count at "Request time"
- The home page, no data
- Problem with tony2001/pinba docker container HOT 1
- install error HOT 2
- not working HOT 1
- Add removing old rows from ipm_tag_info table
- Cannot aggregate data (Warning: 1265 Data truncated for column 'p90' at row 2) HOT 1
- Absolutely not compatible with pinba2
- Your requirements could not be resolved to an installable set of packages
- Downgrade doctrine/migrations HOT 1
- Package Pinboard as Docker container
- Timer details are available only for Live stream
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pinboard.