Інструменти для візуалізації логів профайлера xdebug

Напевно багато php розробників використовують профайлер xdebug для пошуку вузьких місць в своїх аплікухах. Але просто дивитися логи не зручно, тому були створені інструменти для їх візуалізації. Про них я розповім.

Webgrind

Webgrind це набір php скриптів, які можна поставити на локальний чи віддалений веб сервер. Далі все просто – закачуємо лог і дивимося статистику.
image
Найочевидніший плюс Webgrind’а це мультиплатформенність і простота встановлення.
Показує список функцій які викликалась, кількість викликів (Invocation Count), загальний час витрачений на виклик (Total Self Cost) і загальний час витрачений на виконання (Total Inclusive Cost).
Можна приховати php функції. Можна перейти всередину функції, щоб побачити розгорнуту статистику.
Continue reading

Як запускати дебаг з браузера? FireFox + NetBeans + xDebug

Що мені дуже подобалося в Zend Studio так це Zend Toolbar. Він давав мені змогу “сухо і комфортно” відлагоджувати скрипт, при цьому передаючи йому необхідні набори вхідних даних. І от якось знадобилася мені щось схоже в NetBeans – а нема :(.

На оф. сайті xDebug я знайшов згадку про плагін для Firefox xDebug helper. В коментарях до плагіну писали, що його можна використовувати для Eclipse та Notepad++. Значить з NetBeans теж повинен працювати. Витративши ще трохи часу я знайшов статтю “Debugging tip: Xdebug Helper in Firefox w/ NetBeans“, в якій все детально розписано.

Якщо коротко, то:
1. Ставимо плагін xDebug helper.
2. Перезапускаємо браузер і заходимо в налаштування плагіну. В полі idekey вказуємо ‘netbeans-xdebug’.
3. В статусбарі браузера з’являється іконка хелпера “Start/stop xDebug session”. По дефолту вона неактивна. Якщо її включити і перезавантажити сторінку, то в NetBeans почнеться дебаг. Єдине що перед цим потрібно стартанути дебаг в самому NetBeans.

Це все :). Юзайте на здоров’я!

UPD. Я бачу люди заходять сюди по запиту “netbeans xdebug“. В такому разі раджу прочитати розділ “Установка и включение отладчика XDebug” з статті “Настройка среды разработки PHP в Windows“.

UPD2. Сьогодні 25 лютого 2010 року і я натрапив на свою ж статтю написану більше року назад :).

Значить, щоб це все працювало в php.ini мають бути прописані наступні налаштування для xdebug:

xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

php, eAccelerator, APC, Xdebug

П’ята година ранку, а я ще за компом…

Почалося все вчора ввечері, коли я випадково натрапив на 49 наблу Котерова “Оптимизируем загрузку PHP-кода в 22 раза, или почему FastCGI не ускоряет PHP“. Там зачепився поглядом за eAccelerator і згадав, що давно хотів на нього подивитися. Скачав, налаштував, запустив. Про результати судив на прикладі живих проектів. Наприклад, для textbroker.ru час виконання скрипта зменшився в 2-4 рази – доволі суттєво. Трошки поцикався, почитав доступну інфу. Гарно, гарно. Тільки треба більше часу виділити, щоб нормально розібратись.

Continue reading