Warning: pinba_timers_stop() expects exactly 0 parameters, 1 given

40 views
Skip to first unread message

Alexandre Kalendarev

unread,
Dec 7, 2015, 10:54:32 AM12/7/15
to Pinba Engine development list (in Russian)
во первых спасибо за pinba,  использую давно с ранних версий (fixxxer подсказал)  и продукт  за это время сильно изменился
но вот на новом месте решил организовать мониторинг.

собственно вопрос:  почему возникает варнинг 
код:

$pinba_timer = null;
if (extension_loaded('pinba')) {
$pinba_timer = pinba_timer_start(['group'=> 'mysql', 'host'=> $conf['host'], 'action'=>'connect'] );

if (!$pinba_timer)
trigger_error('Pinba. Timer is not set',E_WARNING);

}

$this->_mysql = new Mysql(
sprintf('mysql:host=%s;port=%s', $conf['host'], $conf['port']),
$this->_conf['user'],
$this->_conf['pass']
);

if ($pinba_timer) {
pinba_timers_stop($pinba_timer);
}

В соответствии с документацией - pinba_timers_stop($pinba_timer);  тип параметра должен быть pinba_timer или null
Пример из документации https://github.com/tony2001/pinba_engine/wiki/Basics#Data

$t = pinba_timer_start(array("group"=>"mysql", "server"=>"dbs2", "operation"=>"select"));
$result = mysql_query("SELECT ...", $connection); 
pinba_timer_stop($t); 
 
так же хотелось бы понять практическое использование 

pinba_tag_set()
pinba_tag_delete()
pinba_timer_add()
pinba_timer_data_merge() 






Antony Dovgal

unread,
Dec 7, 2015, 10:57:41 AM12/7/15
to pinba-e...@googlegroups.com
On 12/07/2015 06:42 PM, Alexandre Kalendarev wrote:
..
> pinba_timers_stop($pinba_timer);
..
> pinba_timer_stop($t);

Но это же две разные функции.
Одна останавливает все таймеры, другая - только указанный.
Поэтому первая не ждёт аргументов.

> так же хотелось бы понять практическое использование
>
> pinba_tag_set()
>
> pinba_tag_delete()

Добавление-удаление тэгов для всего запроса (для фильтрации и группировки запросов по этим тэгам).

> pinba_timer_add()

Добавление уже готового таймера, который не надо запускать/останавливать.

> pinba_timer_data_merge()

Добавление данных к уже существующим данным таймера (merge массивов).

--
Wbr,
Antony Dovgal

Alexandre Kalendarev

unread,
Dec 9, 2015, 4:21:28 AM12/9/15
to Pinba Engine development list (in Russian)
Тонни,

спасибо за комментарии,
а правильно ли я делаю, если у меня есть некоторая обертка над запросом, запросов у меня может быть несколько при одинаковых значениях  $tag:

$timer = pinba_timer_start($tags);
    $mysql->query(.....)
pinba_timer_stop($timer);

или именно в этом случае надо использовать pinba_timer_add() ?

Antony Dovgal

unread,
Dec 9, 2015, 5:05:21 AM12/9/15
to pinba-e...@googlegroups.com
On 12/09/2015 12:21 PM, Alexandre Kalendarev wrote:
> Тонни,
>
> спасибо за комментарии,
> а правильно ли я делаю, если у меня есть некоторая обертка над запросом, запросов у меня может быть несколько при одинаковых значениях $tag:
>
> $timer = pinba_timer_start($tags);
> $mysql->query(.....)
> pinba_timer_stop($timer);

При каждом выполнении этого кода будет +1 хит в этом таймере.
Если это ожидается, то да, всё правильно.

> или именно в этом случае надо использовать pinba_timer_add() ?

Ну, можно самому засечь время и добавить потом готовый таймер с этим временем. Но зачем?
Это было изначально сделано для яваскриптщиков, которые собирали таймеры в JS и добавляли их в пинбу через PHP.

--
Wbr,
Antony Dovgal
---
http://pinba.org - realtime profiling for PHP
Reply all
Reply to author
Forward
0 new messages