Выходной файл профилировщика Xdebug

Отладка X возвращает вывод в виде частей, а не одного файла. Я использую Ubuntu 16 и не знаю, почему вдруг вывод находится в нескольких файлах. У меня проблема в том, что я не могу открыть эти файлы в Kcachegrind, так как выходные данные имеют разные части в отдельных файлах. Кто-нибудь? заранее спасибо


person Leonel Matias Domingos    schedule 07.06.2017    source источник


Ответы (1)


С конфигурацией по умолчанию xdebug создает один файл для каждого PID.

когда вы профилируете веб-сайт с вызовами ajax, браузер сделает более одного запроса, и, возможно, они обрабатываются разными PID/экземплярами вашего веб-сервера, и поэтому вы получаете несколько файлов.

вы можете проверить свой php.ini. существует несколько настроек xdebug для управления хранением данных профилирования. Например:

xdebug.profiler_aggregate: Тип: целое число, значение по умолчанию: 0. Если для этого параметра установлено значение 1, для нескольких запросов будет записан один файл профилировщика. Можно просмотреть несколько страниц или перезагрузить страницу, чтобы получить среднее значение по всем запросам. Файл будет называться .cachegrind.aggregate. Вам нужно будет переместить этот файл, чтобы получить еще один раунд сводных данных.

xdebug.profiler_append: Тип: целое число, значение по умолчанию: 0. Если для этого параметра установлено значение 1, файлы профилировщика не будут перезаписываться, когда новый запрос сопоставляется с тем же файлом (в зависимости от xdebug.profiler_output_name). Вместо этого к файлу будет добавлен новый профиль.

xdebug.profiler_output_name Тип: строка, значение по умолчанию: cachegrind.out.%p

Этот параметр определяет имя файла, в который заносятся трассировки. Параметр определяет формат с помощью спецификаторов формата, очень похожих на sprintf() и strftime(). Существует несколько спецификаторов формата, которые можно использовать для форматирования имени файла.

подробнее см. в документации xdebug.

другой вариант — использовать меню Файл/Добавить в KCachegrind:

Добавляет файл данных профиля в текущее окно. Таким образом, вы можете принудительно загрузить несколько файлов данных в одно и то же окно верхнего уровня, даже если они не из одного и того же запуска, как указано в соглашении об именах файлов данных профиля.

person user24525    schedule 07.06.2017