maximaster/bitrix-sql-profile

Упрощает замер производительности отдельных хитов.

v1.0.0 2024-08-29 12:32 UTC

This package is auto-updated.

Last update: 2024-10-29 12:54:20 UTC


README

Модуль Монитор производительности позволяет включить сбор данных о выполняемых запросах. Это удобно, когда надо оценить картину в целом и найти узкие места. Однако, порой нужно сделать замер конкретной страницы.

Данный пакет упрощает эту задачу. Не нужно включать монитор глобально, нужно лишь сделать запрос в котором будет ожидаемый триггер и только для этого запроса будет включен монитор.

composer require maximaster/bitrix-sql-profile

Как подключить?

Замер можно начать в любой момент, но чем раньше это будет сделано, тем более точной будет информация, т.к. будет учитывать весь период работы, а не его часть.

Рекомендуется подключить функционал через файл bitrix/php_interface/after_connect_d7.php:

// Опционально. В каких глобальных массивах будет проверяться триггер?
// Значения по умолчанию указаны в примере, если они вас устраивают, тогда не
// копируйте данную строку вовсе.
define('BITRIX_SQL_PROFILE_TRIGGERS', ['_GET', '_POST', '_COOKIE', '_ENV']);

// Опционально. Имя переменной для триггера. Например, можно сделать короче,
// если хочется. В примере дано значение по умолчанию, не копируйте строку,
// если оно устраивается.
define('BITRIX_SQL_PROFILE_TRIGGER_NAME', 'BITRIX_SQL_PROFILE');

// Значение триггера, которое будет активировать монитор.
define('BITRIX_SQL_PROFILE_VALUE', /* ЗАМЕНИТЕ КОММЕНТАРИЙ ВАШЕЙ СТРОКОЙ! */);

include_once $_SERVER['DOCUMENT_ROOT'].'/../vendor/maximaster/bitrix-sql-profile/inc/use_bitrix_sql_profiler.php';

Альтернативно, вы можете напрямую подключить SqlProfiler и с помощью метода if самостоятельно определить логику при которой будет включаться монитор. См. inc/use_bitrix_sql_profiler.php в данном пакете для примера.

Как пользоваться?

Сделайте запрос к сайту с указанием триггера и его значения:

https://example.com/somepage/?BITRIX_SQL_PROFILE=mysecretvalue

Перейдите в админку на страницу хитов, либо любую другую страницу монитора:

https://example.com/bitrix/admin/perfmon_hit_list.php?lang=ru