Коллектор HTTP-клиента
Захватывает исходящие PSR-18 HTTP-запросы и ответы с замерами времени и кодами состояния.

Собираемые данные
| Поле | Описание |
|---|---|
method | HTTP-метод (GET, POST и т.д.) |
uri | URI запроса |
headers | Заголовки запроса |
line | Файл и строка исходного кода вызова HTTP |
responseStatus | Код состояния HTTP-ответа |
responseRaw | Сырое тело ответа |
totalTime | Общее время запроса/ответа в секундах |
Схема данных
[
{
"startTime": 1711878000.100,
"endTime": 1711878000.350,
"totalTime": 0.25,
"method": "GET",
"uri": "https://api.example.com/users/42",
"headers": {"Authorization": "Bearer ***"},
"line": "/app/src/ApiClient.php:55",
"responseRaw": "{\"id\": 42, \"name\": \"John\"}",
"responseStatus": 200
}
]Сводка (отображается в списке отладочных записей):
{
"http": {
"count": 3,
"totalTime": 0.75
}
}Контракт
use AppDevPanel\Kernel\Collector\HttpClientCollector;
// Start collection
$collector->collect(
request: $psrRequest,
startTime: microtime(true),
line: '/app/src/ApiClient.php:55',
uniqueId: 'req-1',
);
// Complete with response
$collector->collectTotalTime(
response: $psrResponse,
endTime: microtime(true),
uniqueId: 'req-1',
);INFO
HttpClientCollectorAppDevPanel\Kernel\Collector\HttpClientCollectorCollects Http Client data during application lifecycle. реализует SummaryCollectorInterfaceAppDevPanel\Kernel\Collector\SummaryCollectorInterfaceSummary data collector responsibility is to collect summary data for a collector. Summary is used to display a list of previous requests and select one to display full info. Its data set is specific to the list and is reduced compared to full data collected in {@see CollectorInterface}. и зависит от TimelineCollectorAppDevPanel\Kernel\Collector\TimelineCollectorCollects Timeline data during application lifecycle..
Как это работает
Коллектор получает данные от HttpClientInterfaceProxyAppDevPanel\Kernel\Collector\HttpClientInterfaceProxyDecorator proxy for Http Client Interface. Intercepts calls and forwards data to collectors. — декоратора PSR-18 ClientInterfacePsr\Http\Client\ClientInterfacePSR-18 HTTP Client Interface. Sends PSR-7 requests and returns PSR-7 responses.. Каждый вызов $client->sendRequest($request) автоматически перехватывается, замеряется по времени и записывается.
Панель отладки
- Список запросов — все исходящие HTTP-вызовы с методом, URL, статусом и временем
- Детали запроса/ответа — раскрываемый просмотр с заголовками и телом
- Бейджи статусов — цветовая кодировка по статусу ответа (2xx зелёный, 4xx оранжевый, 5xx красный)
- Разбивка по времени — длительность каждого запроса