Как получить доступ к данным профилирования программным путём
Как получить доступ к данным профилирования программным путём
В большинстве случаев, доступ к информации профилировщика получается и
анализируется с использованием его веб-визуализатора. Однако вы также можете
получить информацию профилирования путём программирования, благодаря методам,
предоставленным сервисом 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');