У Ubilling з релізу 0.5.0 інтегровано інструментарій, що дозволяє включати інтеграцію з XHprof. Даний інструментарій є дуже корисним для оцінки вузьких місць швидкодії, при розробці та відлагодженні модулів Ubilling.
Все має бути на місці. Але якщо при перегляді full callgraph ви бачите “нічого” - потрібно просто встановити graphviz
# cd /usr/ports/graphics/graphviz/ # make && make install
Сумно та оригінальний xhprof не працює з PHP 7.0 та вище. Доведеться ставити ручками його працюючий форк.
# wget https://pecl.php.net/get/xhprof # tar zxvf xhprof # cd xhprof-2.3.9/extension/ # phpize # ./configure --with-php-config=/usr/local/bin/php-config # make && make install
# wget https://pecl.php.net/get/xhprof # tar zxvf xhprof # cd xhprof-2.3.9/extension/ # phpize # ./configure --with-php-config=/usr/local/bin/php-config # make && make install
та розкоментовуємо в /usr/local/etc/php.ini наступний рядок:
extension=xhprof.so
Після чого виконуємо
# apachectl restart
# apt install php-dev # wget https://pecl.php.net/get/xhprof # tar zxvf xhprof # cd xhprof-2.3.5/extension/ # phpize # ./configure --with-php-config=/usr/bin/php-config7.4 # make && make install # ln -fs /usr/bin/dot /usr/local/bin/dot
Після чого переконайтеся, що в /usr/local/etc/php.ini вказані наступні опції
[xhprof] xhprof.output_dir=/tmp/
а також розкоментуйте (тільки для PHP7)
extension=xhprof.so
Для ввімкнення режиму відлагодження, необхідно в файлі конфігурації config/billing.ini увімкнути відповідну опцію
XHPROF=1
Після чого, на всіх сторінках Ubilling, згори, має матеріалізуватися відповідний лінк:
Котрий викликає ось таку красу:
Важливо: не забувайте вимикати XHprof у продакшні! Це інструментар тільки для розробки та відлагодження!