bavix/laravel-xhprof

Quick profiling of your code for Laravel

2.0.5 2024-02-13 15:18 UTC

README

Laravel XHProf

Scrutinizer Code Quality Code Coverage Build Status Code Intelligence Status

Package Rank Latest Stable Version Latest Unstable Version License composer.lock

Laravel XHProf - Library for profiling in production.

  • Vendor: bavix
  • Package: Laravel XHProf
  • Version: Latest Stable Version
  • Laravel Version: 5.5, 5.6, 5.7, 5.8, 6.0, 7.0, 8.0
  • PHP Version: 7.1+
  • Composer: composer require bavix/laravel-xhprof

Get Started

  1. Install xhprof extension for PHP:
pecl install xhprof
  1. Add in php.ini or other included config (xhprof.ini):
extension=xhprof.so
xhprof.output_dir=/tmp/xhprof
  1. Restart PHP:
sudo systemctl restart fp2-php72-fpm.service
  1. Check XHProf in PHP Info:
php -i | grep xhprof

Result:

/opt/php72/conf.d/xhprof.ini,
xhprof
xhprof support => enabled
xhprof.collect_additional_info => 0 => 0
xhprof.output_dir => /tmp/xhprof => /tmp/xhprof
xhprof.sampling_depth => 2147483647 => 2147483647
xhprof.sampling_interval => 100000 => 100000
  1. Add domain for view results profiling (xhprof.domain.ru).

  2. Download library for view:

cd /var/www/xhprof.domain.ru;
wget http://pecl.php.net/get/xhprof-0.9.4.tgz
gzip -d xhprof-0.9.4.tgz
tar -xvf xhprof-0.9.4.tar
  1. Change root path in Nginx config for this domain: set $root_path /var/www/xhprof.domain.ru/xhprof-0.9.4/xhprof_html;

  2. Install this package:

composer req bavix/laravel-xhprof --dev
  1. Create config xhprof.php to Laravel in config dir (if empty):
<?php
return [
    'path' => base_path('../xhprof.domain.ru/xhprof-0.9.4'),
    'enabled' => true,
    'freq' => 1
];
  1. If you have old laravel (<=5.4), register the service provider by add this line \Bavix\XHProf\XHProfServiceProvider::class in your /config/app.php. If laravel 5.5 and older then skip this step.

  2. Reload page Laravel site and go to xhprof.domain.ru

Enjoy!

I wrote the instructions @wdda, thank you.

Supported by

Supported by JetBrains