xdebug, возникли проблемы с выводом профилировщика - PullRequest
2 голосов
/ 11 ноября 2010

Правильно, после просмотра выступления Расмуса Лердорфа о производительности PHP Я давно хотел профилировать приложение ERP / Accounting, над которым я работаю, не в последнюю очередь потому, что я знаю, что с ним возникают проблемы с производительностью, профилирование должно выделите основные проблемы, которые мне предстоит исследовать.

Итак, скачал xdebug и поместил следующие несколько строк в мой php.ini файл:

zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.profiler_output_dir="/home/me/xdebug/profiles/"
xdebug.ptofiler_enable_trigger=On

С этим я просто нацеливаю свой браузер как мое приложение с &XDEBUG_PROFILE в строке запроса, и начинается профилирование. Проблема заключается в том, что вывод, который я просматриваю с помощью KCacheGrind, не включает в себя какие-либо функции из моего приложения и не обеспечивает поток между сущностями.

Когда страница выполняется, я скопировал (в терминале) файл профиля в отдельный файл, чтобы зафиксировать его состояние по всему профилю. Я загрузил каждый из них отдельно в KCacheGrind, и все они показывают полный профиль приложения, кроме последнего?

Может кто-нибудь сказать мне, почему не выводится полный профиль? Глядя на размеры моих скопированных файлов, кажется, что первые несколько довольно большие, но последний значительно меньше, xdebug возиться с ними после того, как он был захвачен?

Большое спасибо: -)

EDIT

Просто чтобы помочь, это то, что я вижу, когда открываю один из скопированных профилей (до того, как профиль будет завершен), я уверен, что это еще не все.

alt text

И это то, что я получаю из окончательного профиля, никаких отношений, просто набор функций PHP. Я хочу увидеть весь профиль.

alt text

РЕДАКТИРОВАТЬ 2

Здесь я постоянно запускаю команду ls -als, последний список - урезанная версия, предыдущий - последний ls, где файл был в полном размере.

alt text

Я не могу загрузить большой файл, поскольку его длина превышает 3 миллиона строк, если это поможет, это раздел xdebug php info.

alt text

1 Ответ

2 голосов
/ 12 ноября 2010

Правильно, я на самом деле решил проблему сам, я добавил эту опцию в мой файл php.ini:

xdebug.profiler_append=1

Это добавит данные к тому же имени файла, если оно существует, поэтому мне нужно убедиться, что опция имени файла установлена ​​правильно, но я думаю, что это решило мою проблему на данный момент.

Спасибо тем, кто ответил: -)

...