proklung / bitrix-webprofilier-module
Web profiler для Битрикса
Installs: 18
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 1
Open Issues: 0
Type:bitrix-d7-module
Requires
- php: >=7.1 || ^8.0
- composer/installers: ~1
- proklung/bitrix-containerable-boilerplate: ^1.1
- proklung/bitrix.module.boilerplate: ^1.0
- proklung/web-profilier-bundle: ^1.0
Requires (Dev)
- icanhazstring/composer-unused: ^0.7.5
README
На базе бандла, но самодостаточен, ни в чем снаружи - кроме зависимостей из composer.json - не нуждается.
Представляет собой досуговую адаптацию фирменного бандла на фоне решения частной задачи.
INTERNAL
В процессе разработки.
Установка
composer.json основного проекта:
"extra": { "installer-paths": { "./bitrix/modules/{$name}/": ["type:bitrix-d7-module", "type:bitrix-module"], "./bitrix/components/{$name}/": ["type:bitrix-d7-component", "type:bitrix-component"], "./bitrix/templates/{$name}/": ["type:bitrix-d7-template", "type:bitrix-theme"] } }
И:
"repositories": [ { "type": "git", "url": "https://github.com/proklung/bitrix.webprofilier.module" }, { "type": "git", "url": "https://github.com/proklung/bitrix.containerable.boilerplate" }, { "type": "git", "url": "https://github.com/proklung/web.profilier.bundle" } ]
Composer 1.0 & 2.0:
$ composer require proklung/bitrix-webprofilier-module
Установите модуль proklung.profilier
в административном интерфейсе сайта bitrix/admin/partner_modules.php
Поставить галочку Активность
на странице /bitrix/admin/_profiler_bitrix.php
(или в админке по пути Контент
-> Битрикс профайлер
).
Загрузить модуль в init.php
:
use Bitrix\Main\Loader; if (Loader::includeModule('proklung.profilier')) { \Proklung\Profilier\DI\Services::init(); }
Конфигурирование
Дополнительные data collectors
Файл /bitrix/.settings.php
:
'proklung.profilier' => [ 'value' => [ 'parameters' => [ 'container.dumper.inline_factories' => false, 'compile_container_envs' => ['prod'], // Директория, куда ляжет кэш модуля 'cache_path' => '/bitrix/cache', ], 'twig' => [ 'cache_dir' => null, 'config' => [], 'paths' => [$_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/proklung.profilier/templates', __DIR__ . '/../vendor/proklung/web-profilier-bundle/src/Bundle/Resources/view', ], ], // Бандлы 'bundles' => [], // Дополнительные data collectors 'collectors' => [ // ID сервиса 'fooCollector' => [ // Класс, объект или замыкание, возвращающее готовый объект 'className' => 'Proklung\Profilier\DataCollector\ModuleDataCollector', 'id' => 'module_collector', // Должно соответствовать тому, что возвращает getName 'template' => '/collectors/module.html.twig', 'priority' => 336 ], // ID сервиса 'metrics' => [ // Класс, объект или замыкание, возвращающее готовый объект 'className' => 'Prokl\WebProfilierBundle\Bitrix\Metric\MetrixDataCollector', 'id' => 'metrics', 'template' => '/collectors/metrics.html.twig', 'priority' => 336 ], ], 'transformers' => [ // ID сервиса 'metricsTransformer' => [ // Класс, объект или замыкание, возвращающее готовый объект 'className' => 'Prokl\WebProfilierBundle\Bitrix\Metric\MetricsDataCollectorTransformer', 'key' => 'metrics', ], ] ], ], Параметр `cache_path` - путь, куда ляжет скомпилированный контейнер. Если не задано, то по умолчанию `/bitrix/cache/s1/proklung.profilier`. Предполагается, что в системе так или иначе установлена переменная среды `DEBUG` в массиве `$_ENV`. Если нет, то по умолчанию полагается, что среда "отладочная". Параметр (массив) `compile_container_envs` указывает окружения, при которых необходимо кэшировать контейнер. Пока простая логика: `$_ENV["DEBUG"] === true` => окружение `dev`, иначе `prod`.
Эксплуатация
Работает только, если пользователь залогинен админом. Не рекомендуется использовать на проде.
В админке появляются две кнопки на административной панели (открывать в новом окне):
- Профайлер текущего запроса - ссылка на профайлер с данными на текущую открытую страницу.
- Профайлер последнего запроса - ссылка на профайлер с данными на последний запрос. Отличие от первой кнопки в том, что можно сделать в другой вкладке открыть страницу, возвращающую, скажем json, и посмотреть ее профайл.
- Еще ссылки:
/bitrix/admin/_profilier_module.php