Как получить доступ к данным профилирования программным путём

Как получить доступ к данным профилирования программным путём

В большинстве случаев, доступ к информации профилировщика получается и анализируется с использованием его веб-визуализатора. Однако вы также можете получить информацию профилирования путём программирования, благодаря методам, предоставленным сервисом profiler.

Когда доступен объект ответа, используйте метод loadProfileFromResponse(), чтобы получить доступ к ассоциированному с ним профилю:

1
2
// ... $profiler - это сервис 'профилировщика'
$profile = $profiler->loadProfileFromResponse($response);

Когда профилировщик хранит данные о заросе, он также ассоциирует с ними токен; этот токен доступен в HTTP-заголовке ответа X-Debug-Token. Используя этот токен, вы можете получить доступ к профилю любого прошлого ответа, благодаря методу loadProfile():

1
2
$token = $response->headers->get('X-Debug-Token');
$profile = $profiler->loadProfile($token);

Tip

Когда включён профилировщик, но не включена панель инструментов веб-отладки, исследуйте страницу с помощью инструментов разработки вашего браузера, чтобы получить значение HTTP-заголовка X-Debug-Token.

Сервис profiler также предоставляет метод find() для поиска токеновв, основанных на некоторых критериях:

1
2
3
4
5
6
7
8
9
10
11
// получает последние 10 токенов
$tokens = $profiler->find('', '', 10, '', '', '');

// получает последние 10 токенов для всех URL, содержащих /admin/
$tokens = $profiler->find('', '/admin/', 10, '', '', '');

// получает последние 10 токенов для локальных запросов POST
$tokens = $profiler->find('127.0.0.1', '', 10, 'POST', '', '');

// получает последние 10 токенов для запросов, которые были сделаны от 2 до 4 дней назад
$tokens = $profiler->find('', '', 10, '', '4 days ago', '2 days ago');