Skip to content

Коллектор сервисов ​

Захватывает вызовы методов сервисов DI-контейнера — вызванный сервис, метод, аргументы, результат и время выполнения.

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

Собираемые данные ​

ПолеОписание
serviceИдентификатор сервиса
classИмя класса сервиса
methodВызванный метод
argumentsАргументы метода
resultВозвращаемое значение
statusСтатус вызова (success или error)
errorСообщение об ошибке при неудаче
timeStartВремя начала вызова
timeEndВремя завершения вызова

Схема данных ​

json
[
    {
        "service": "App\\Service\\UserService",
        "class": "App\\Service\\UserService",
        "method": "findById",
        "arguments": [42],
        "result": {"id": 42, "name": "John"},
        "status": "success",
        "error": null,
        "timeStart": 1711878000.100,
        "timeEnd": 1711878000.105
    }
]

Сводка (отображается в списке отладочных записей):

json
{
    "service": {
        "total": 5
    }
}

Контракт ​

php
use AppDevPanel\Kernel\Collector\ServiceCollector;
use AppDevPanel\Kernel\Event\MethodCallRecord;

$collector->collect(new MethodCallRecord(
    service: 'App\\Service\\UserService',
    class: 'App\\Service\\UserService',
    method: 'findById',
    arguments: [42],
    result: $result,
    status: 'success',
    timeStart: $start,
    timeEnd: $end,
));

Как это работает ​

Коллектор получает данные от ContainerInterfaceProxyAppDevPanel\Adapter\Yii3\Proxy\ContainerInterfaceProxyDecorator proxy for Container Interface. Intercepts calls and forwards data to collectors.final Adapter/Yii3 · class · implements ContainerInterface, который оборачивает PSR-11 ContainerInterfacePsr\Container\ContainerInterfacePSR-11 Container Interface. Describes the interface of a dependency injection container.PSR-11 · interface. Когда сервисы разрешаются и их методы вызываются через прокси, вызовы перехватываются и записываются.

Панель отладки ​

  • Список вызовов сервисов — все отслеживаемые вызовы методов с классом, методом и временем
  • Раскрываемые детали — аргументы и возвращаемые значения
  • Индикаторы статуса — значки успеха (зелёный) и ошибки (красный)

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