{"id":18513678,"url":"https://github.com/proklung/bitrix-webprofilier-module","last_synced_at":"2025-05-14T12:34:56.992Z","repository":{"id":62530908,"uuid":"399209248","full_name":"ProklUng/bitrix-webprofilier-module","owner":"ProklUng","description":"Профайлер для Битрикса, оформленный в виде модуля","archived":false,"fork":false,"pushed_at":"2021-08-27T09:29:17.000Z","size":102,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-25T21:24:00.227Z","etag":null,"topics":["bitrix","bitrix-module","bitrix-symfony","php7","profiler"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProklUng.png","metadata":{"files":{"readme":"readme.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-23T18:26:05.000Z","updated_at":"2024-08-22T11:14:34.000Z","dependencies_parsed_at":"2022-11-02T15:32:02.675Z","dependency_job_id":null,"html_url":"https://github.com/ProklUng/bitrix-webprofilier-module","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProklUng%2Fbitrix-webprofilier-module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProklUng%2Fbitrix-webprofilier-module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProklUng%2Fbitrix-webprofilier-module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProklUng%2Fbitrix-webprofilier-module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProklUng","download_url":"https://codeload.github.com/ProklUng/bitrix-webprofilier-module/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239230947,"owners_count":19603987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitrix","bitrix-module","bitrix-symfony","php7","profiler"],"created_at":"2024-11-06T15:40:13.185Z","updated_at":"2025-02-17T03:32:12.393Z","avatar_url":"https://github.com/ProklUng.png","language":"PHP","readme":"# Профайлер для Битрикса, оформленный в виде модуля\n\nНа базе [бандла](https://github.com/ProklUng/web.profilier.bundle), но самодостаточен, ни в чем снаружи - кроме зависимостей из \ncomposer.json - не нуждается.\n\nПредставляет собой досуговую адаптацию фирменного [бандла](https://github.com/symfony/web-profiler-bundle) на фоне решения\n частной задачи.\n\n***INTERNAL***\n\nВ процессе разработки.\n\n## Установка\n\ncomposer.json основного проекта:\n\n```json\n  \"extra\": {\n    \"installer-paths\": {\n      \"./bitrix/modules/{$name}/\": [\"type:bitrix-d7-module\", \"type:bitrix-module\"],\n      \"./bitrix/components/{$name}/\": [\"type:bitrix-d7-component\", \"type:bitrix-component\"],\n      \"./bitrix/templates/{$name}/\": [\"type:bitrix-d7-template\", \"type:bitrix-theme\"]\n    }\n  }\n```\n\nИ:\n\n```json\n    \"repositories\": [\n        {\n            \"type\": \"git\",\n            \"url\": \"https://github.com/proklung/bitrix.webprofilier.module\"\n        },\n        {\n          \"type\": \"git\",\n          \"url\": \"https://github.com/proklung/bitrix.containerable.boilerplate\"\n        },\n        {\n        \"type\": \"git\",\n        \"url\": \"https://github.com/proklung/web.profilier.bundle\"\n        }\n    ]\n```\n\nComposer 1.0 \u0026 2.0:\n\n\n```bash\n$ composer require proklung/bitrix-webprofilier-module\n```\n\nУстановите модуль `proklung.profilier` в административном интерфейсе сайта `bitrix/admin/partner_modules.php`\n\nПоставить галочку `Активность` на странице `/bitrix/admin/_profiler_bitrix.php` (или в админке по пути `Контент` -\u003e `Битрикс профайлер`).\nЗагрузить модуль в `init.php`:\n\n```php\nuse Bitrix\\Main\\Loader;\n\nif (Loader::includeModule('proklung.profilier')) {\n    \\Proklung\\Profilier\\DI\\Services::init();\n}\n```\n\n## Конфигурирование\n\n### Дополнительные data collectors\n\nФайл `/bitrix/.settings.php`:\n\n```php\n    'proklung.profilier' =\u003e [\n        'value' =\u003e [\n           'parameters' =\u003e [\n                'container.dumper.inline_factories' =\u003e false,\n                'compile_container_envs' =\u003e ['prod'],\n                 // Директория, куда ляжет кэш модуля\n                'cache_path' =\u003e '/bitrix/cache',\n            ],\n            'twig' =\u003e [\n                'cache_dir' =\u003e null,\n                'config' =\u003e [],\n                'paths' =\u003e [$_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/proklung.profilier/templates',\n                            __DIR__ . '/../vendor/proklung/web-profilier-bundle/src/Bundle/Resources/view',\n                    ],\n            ],\n            // Бандлы\n            'bundles' =\u003e [],\n             // Дополнительные data collectors\n            'collectors' =\u003e [\n                // ID сервиса  \n                'fooCollector' =\u003e [\n                    // Класс, объект или замыкание, возвращающее готовый объект\n                    'className' =\u003e 'Proklung\\Profilier\\DataCollector\\ModuleDataCollector',\n                    'id' =\u003e 'module_collector', // Должно соответствовать тому, что возвращает getName\n                    'template' =\u003e '/collectors/module.html.twig',\n                    'priority' =\u003e 336\n                ],\n                // ID сервиса\n                'metrics' =\u003e [\n                    // Класс, объект или замыкание, возвращающее готовый объект\n                    'className' =\u003e 'Prokl\\WebProfilierBundle\\Bitrix\\Metric\\MetrixDataCollector',\n                    'id' =\u003e 'metrics',\n                    'template' =\u003e '/collectors/metrics.html.twig',\n                    'priority' =\u003e 336\n                ],\n            ],\n            'transformers' =\u003e [\n                // ID сервиса\n                'metricsTransformer' =\u003e [\n                    // Класс, объект или замыкание, возвращающее готовый объект\n                    'className' =\u003e 'Prokl\\WebProfilierBundle\\Bitrix\\Metric\\MetricsDataCollectorTransformer',\n                    'key' =\u003e 'metrics',\n                ],\n            ]\n        ],\n    ],\n\n\nПараметр `cache_path` - путь, куда ляжет скомпилированный контейнер. Если не задано, то по умолчанию `/bitrix/cache/s1/proklung.profilier`.\n\nПредполагается, что в системе так или иначе установлена переменная среды `DEBUG` в массиве `$_ENV`. Если нет, то по умолчанию\n полагается, что среда \"отладочная\".\n \nПараметр (массив) `compile_container_envs` указывает окружения, при которых необходимо кэшировать контейнер.\n\nПока простая логика: `$_ENV[\"DEBUG\"] === true` =\u003e окружение `dev`, иначе `prod`. \n```\n### Эксплуатация\n\nРаботает только, если пользователь залогинен админом. Не рекомендуется использовать на проде.\n\nВ админке появляются две кнопки на административной панели (открывать в новом окне):\n\n1) ***Профайлер текущего запроса*** - ссылка на профайлер с данными на текущую открытую страницу.\n2) ***Профайлер последнего запроса*** - ссылка на профайлер с данными на последний запрос. Отличие от первой кнопки в том,\n   что можно сделать в другой вкладке открыть страницу, возвращающую, скажем json, и посмотреть ее профайл.\n3) Еще ссылки: `/bitrix/admin/_profilier_module.php`","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproklung%2Fbitrix-webprofilier-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproklung%2Fbitrix-webprofilier-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproklung%2Fbitrix-webprofilier-module/lists"}