Користувальницькькі налаштування

Налаштування сайту


xhprof

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
xhprof [2017/09/07 16:39]
xhprof [2023/02/18 10:38] (поточний)
nightfly [Встановлення з PHP 7.0/7.1/7.4]
Рядок 1: Рядок 1:
 +====== Ієрархічний профайлер XHprof ======
  
 +У Ubilling з релізу 0.5.0 інтегровано інструментарій, що дозволяє включати інтеграцію з [[http://pecl.php.net/package/xhprof|XHprof]]. Даний інструментарій є дуже корисним для оцінки вузьких місць швидкодії, при розробці та відлагодженні модулів Ubilling. 
 +
 +===== Встановлення з PHP 5.3/5.6 =====
 +
 +Все має бути на місці. Але якщо при перегляді full callgraph ви бачите "нічого" - потрібно просто встановити graphviz
 +<code sh>
 +# cd /usr/ports/graphics/graphviz/
 +# make && make install
 +</code>
 +
 +===== Встановлення з PHP 7.0/7.1/7.4 =====
 +Сумно та оригінальний xhprof не працює з PHP 7.0 та вище. Доведеться ставити ручками його працюючий форк.\\
 +<code>
 +# 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
 +</code>
 +
 +===== Встановлення з PHP 8.2 =====
 +
 +<code>
 +# 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
 +</code>
 +
 +та розкоментовуємо в **/usr/local/etc/php.ini** наступний рядок:
 +<file ini php.ini>
 +extension=xhprof.so
 +</file>
 +
 +Після чого виконуємо 
 +<code>
 +# apachectl restart
 +</code>
 +
 +===== Встановлення на Debian 11 з PHP 7.4 =====
 +<code>
 +# 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
 +</code>
 +
 +Після чого переконайтеся, що в **/usr/local/etc/php.ini** вказані наступні опції
 +<code ini>
 +[xhprof]                                                   
 +xhprof.output_dir=/tmp/
 +</code>
 +
 +а також розкоментуйте (тільки для PHP7)
 +<code ini>
 +extension=xhprof.so
 +</code>
 +
 +
 +
 +===== Використання =====
 +Для ввімкнення режиму відлагодження, необхідно в файлі конфігурації **config/billing.ini** увімкнути відповідну опцію
 +
 +<code ini>
 +XHPROF=1
 +</code>
 +
 +
 +Після чого, на всіх сторінках Ubilling, згори, має матеріалізуватися відповідний лінк:
 +
 +{{:undefined:xhprof1.png|}}
 +
 +Котрий викликає ось таку красу:
 +
 +{{:undefined:xhprof2.png|}}
 +
 +{{:undefined:xhprof3.png|}}
 +
 +{{:undefined:xhprof4.png|}}
 +
 +**Важливо:** не забувайте вимикати XHprof у продакшні! Це інструментар тільки для розробки та відлагодження!