Skip to content

Матрица возможностей

ADP поддерживает несколько PHP-фреймворков через адаптеры. Каждый адаптер подключает хуки фреймворка к общим коллекторам Kernel. На этой странице описано, что доступно в каждом адаптере.

Поддержка коллекторов по адаптерам

Все коллекторы находятся в Kernel и не зависят от фреймворка. Адаптеры регистрируют и подключают их через хуки событий, прокси или декораторы.

Универсальные коллекторы

Эти коллекторы зарегистрированы во всех четырёх адаптерах:

КоллекторПанельОписание
TimelineCollectorAppDevPanel\Kernel\Collector\TimelineCollectorCollects Timeline data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceTimelineСобытия временной шкалы производительности
LogCollectorAppDevPanel\Kernel\Collector\LogCollectorCollects Log data during application lifecycle.Kernel · class · implements SummaryCollectorInterfaceLogsPSR-3 сообщения логов
EventCollectorAppDevPanel\Kernel\Collector\EventCollectorCollects Event data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceEventsPSR-14 отправленные события
ExceptionCollectorAppDevPanel\Kernel\Collector\ExceptionCollectorCollects Exception data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceExceptionsНеобработанные исключения со стек-трейсами
DeprecationCollectorAppDevPanel\Kernel\Collector\DeprecationCollectorCollects Deprecation data during application lifecycle.final Kernel · class · implements SummaryCollectorInterface(в Logs)PHP deprecation-предупреждения
ServiceCollectorAppDevPanel\Kernel\Collector\ServiceCollectorCollects Service data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceServicesРазрешения сервисов DI-контейнера
HttpClientCollectorAppDevPanel\Kernel\Collector\HttpClientCollectorCollects Http Client data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceHTTP ClientPSR-18 исходящие HTTP-запросы
VarDumperCollectorAppDevPanel\Kernel\Collector\VarDumperCollectorCollects Var Dumper data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceVar DumperВызовы dump() / dd()
EnvironmentCollectorAppDevPanel\Kernel\Collector\EnvironmentCollectorCollects runtime environment information: PHP version, extensions, SAPI, OS, working directory, server parameters, and environment variables.final Kernel · class · implements SummaryCollectorInterfaceEnvironmentИнформация о PHP и ОС
FilesystemStreamCollectorAppDevPanel\Kernel\Collector\Stream\FilesystemStreamCollectorCollects Filesystem Stream data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceFilesystemОперации файловых потоков
HttpStreamCollectorAppDevPanel\Kernel\Collector\Stream\HttpStreamCollectorCollects Http Stream data during application lifecycle.final Kernel · class · implements SummaryCollectorInterface(скрыт)Сырые HTTP-потоки (подвид HTTP Client)
RequestCollectorAppDevPanel\Kernel\Collector\Web\RequestCollectorCollects Request data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceRequestВходящие HTTP запрос/ответ (web-записи)
CommandCollectorAppDevPanel\Kernel\Collector\Console\CommandCollectorCollects Command data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceRequestДетали консольной команды (console-записи)
WebAppInfoCollectorAppDevPanel\Kernel\Collector\Web\WebAppInfoCollectorCollects Web App Info data during application lifecycle.final Kernel · class · implements SummaryCollectorInterface(мета)Сводка web-приложения для списка записей
ConsoleAppInfoCollectorAppDevPanel\Kernel\Collector\Console\ConsoleAppInfoCollectorCollects Console App Info data during application lifecycle.final Kernel · class · implements SummaryCollectorInterface(мета)Сводка консольного приложения для списка записей
RouterCollectorAppDevPanel\Kernel\Collector\RouterCollectorCaptures HTTP routing data: matched route, match timing, route tree.final Kernel · class · implements SummaryCollectorInterfaceRouterДанные маршрутизации HTTP
ValidatorCollectorAppDevPanel\Kernel\Collector\ValidatorCollectorCaptures validation operations with results.final Kernel · class · implements SummaryCollectorInterfaceValidatorОперации валидации и результаты
TranslatorCollectorAppDevPanel\Kernel\Collector\TranslatorCollectorCaptures translation lookups during request execution.final Kernel · class · implements SummaryCollectorInterfaceTranslatorПоиск переводов, пропущенные переводы
AuthorizationCollectorAppDevPanel\Kernel\Collector\AuthorizationCollectorCaptures authentication and authorization data.final Kernel · class · implements SummaryCollectorInterfaceSecurityДанные аутентификации и авторизации
OpenTelemetryCollectorAppDevPanel\Kernel\Collector\OpenTelemetryCollectorCollects Open Telemetry data during application lifecycle.final Kernel · class · implements SummaryCollectorInterfaceOpenTelemetryOpenTelemetry span-ы и трейсы

Матрица доступности коллекторов

КоллекторYii 3SymfonyLaravelYii2Панель
DatabaseDatabase
CacheCache
MailerMailer
QueueQueue
RedisRedis
ElasticsearchElasticsearch
ViewWebView
TemplatesTemplates
Code CoverageCoverage
Asset BundlesAsset Bundles
MiddlewareMiddleware
MessengerMessenger

Итого коллекторов по адаптерам

АдаптерУниверсальныеДополнительныеВсего
Yii 320828
Symfony20929
Yii2201030
Laravel20727

Механизмы проксирования / перехвата

Каждый адаптер использует разные стратегии для перехвата внутренних механизмов фреймворка и передачи данных в коллекторы:

ИнтерфейсYii 3SymfonyLaravelYii2
PSR-3 LoggerLoggerInterfaceProxyAppDevPanel\Kernel\Collector\LoggerInterfaceProxyDecorator proxy for Logger Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements LoggerInterfaceLoggerInterfaceProxyAppDevPanel\Kernel\Collector\LoggerInterfaceProxyDecorator proxy for Logger Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements LoggerInterfaceLoggerInterfaceProxyAppDevPanel\Kernel\Collector\LoggerInterfaceProxyDecorator proxy for Logger Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements LoggerInterfaceDebugLogTargetAppDevPanel\Adapter\Yii2\Collector\DebugLogTargetReal-time log target that feeds Yii 2 log messages to ADP's LogCollector.final Adapter/Yii2 · class · extends Target
PSR-14 EventsEventDispatcherInterfaceProxyAppDevPanel\Kernel\Collector\EventDispatcherInterfaceProxyDecorator proxy for Event Dispatcher Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements EventDispatcherInterfaceSymfonyEventDispatcherProxyAppDevPanel\Adapter\Symfony\Proxy\SymfonyEventDispatcherProxyWraps Symfony's event dispatcher to intercept dispatched events.final Adapter/Symfony · class · implements EventDispatcherInterfaceLaravelEventDispatcherProxyAppDevPanel\Adapter\Laravel\Proxy\LaravelEventDispatcherProxyWraps Laravel's event dispatcher to intercept dispatched events.final Adapter/Laravel · class · implements DispatcherWildcard Event::on('*')
PSR-18 HTTP ClientHttpClientInterfaceProxyAppDevPanel\Kernel\Collector\HttpClientInterfaceProxyDecorator proxy for Http Client Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements ClientInterfaceHttpClientInterfaceProxyAppDevPanel\Kernel\Collector\HttpClientInterfaceProxyDecorator proxy for Http Client Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements ClientInterfaceHttpClientInterfaceProxyAppDevPanel\Kernel\Collector\HttpClientInterfaceProxyDecorator proxy for Http Client Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements ClientInterfaceHttpClientInterfaceProxyAppDevPanel\Kernel\Collector\HttpClientInterfaceProxyDecorator proxy for Http Client Interface. Intercepts calls and forwards data to collectors.final Kernel · class · implements ClientInterface
PSR-11 ContainerContainerInterfaceProxyAppDevPanel\Adapter\Yii3\Proxy\ContainerInterfaceProxyDecorator proxy for Container Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements ContainerInterfaceCompiler pass
VarDumperVarDumperHandlerInterfaceProxyAppDevPanel\Adapter\Yii3\Proxy\VarDumperHandlerInterfaceProxyDecorator proxy for Var Dumper Handler Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements HandlerInterfaceHandler hookHandler hookHandler hook
DatabaseConnectionInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Db\ConnectionInterfaceProxyDecorator proxy for Connection Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements ConnectionInterfaceDBAL middlewareEvent listenerDbProfilingTargetAppDevPanel\Adapter\Yii2\Collector\DbProfilingTargetYii 2 profiling target that captures database query timing and feeds it to DbCollector.final Adapter/Yii2 · class · extends Target
MailerMailerInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Mailer\MailerInterfaceProxyDecorator proxy for Mailer Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements MailerInterfaceEvent listenerEvent listenerEvent hook
RouterUrlMatcherInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Router\UrlMatcherInterfaceProxyDecorator proxy for Url Matcher Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements UrlMatcherInterfaceRouterDataExtractorAppDevPanel\Adapter\Laravel\Collector\RouterDataExtractorExtracts route data from Laravel's router and feeds it to the Kernel RouterCollector.final Adapter/Laravel · classUrlRuleProxyAppDevPanel\Adapter\Yii2\Proxy\UrlRuleProxyWraps a Yii 2 URL rule to intercept successful route matching.final Adapter/Yii2 · class · implements UrlRuleInterface
ValidatorValidatorInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Validator\ValidatorInterfaceProxyDecorator proxy for Validator Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements ValidatorInterface
QueueQueueProviderInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Queue\QueueProviderInterfaceProxyDecorator proxy for Queue Provider Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements QueueProviderInterfaceEvent listener
View/TemplatesTwig profiler extensionView::EVENT_AFTER_RENDER
CacheDecorated CacheAdapterEvent listener
MessengerMessenger middleware
TranslatorTranslatorInterfaceProxyAppDevPanel\Adapter\Yii3\Collector\Translator\TranslatorInterfaceProxyDecorates Yiisoft TranslatorInterface to feed translation lookups to TranslatorCollector.final Adapter/Yii3 · class · implements TranslatorInterfaceSymfonyTranslatorProxyAppDevPanel\Adapter\Symfony\Proxy\SymfonyTranslatorProxyDecorates Symfony's TranslatorInterface to feed translation lookups to TranslatorCollector.final Adapter/Symfony · class · implements TranslatorInterfaceLaravelTranslatorProxyAppDevPanel\Adapter\Laravel\Proxy\LaravelTranslatorProxyDecorates Laravel's Translator to feed translation lookups to TranslatorCollector.final Adapter/Laravel · class · implements TranslatorI18NProxyAppDevPanel\Adapter\Yii2\Proxy\I18NProxyDecorates Yii 2's I18N component to feed translation lookups to TranslatorCollector.final Adapter/Yii2 · class · extends I18N

Возможности инспектора

Инспектор предоставляет интроспекцию приложения в реальном времени (не привязана к записям отладки). Все API-функции не зависят от адаптера:

ВозможностьYii 3SymfonyLaravelYii2Cycle
Конфигурация
Схема БД
Маршруты
Файловый проводник
Git
Composer
Opcache
PHP Info
Команды
Container / DI
Кеш
Переводы

Различия в возможностях адаптеров

Текущие различия между адаптерами:

ВозможностьYii 3SymfonyLaravelYii2
Отладка шаблонов
Code coverage
Отладка middleware
Отладка шины сообщений
Отладка asset bundles
Прокси контейнера

TIP

Паритет возможностей активно улучшается. Если вам нужен определённый коллектор для вашего фреймворка, участие в разработке приветствуется.

Выпущено под лицензией MIT.