XHProf is a function-level hierarchical profiler for PHP and has a simple HTML based navigational interface. The raw data collection component is implemented in C (as a PHP extension). The reporting/UI layer is all in PHP.

Common Terms:

Inclusive Time includes the time spent in the function itself and in all the descendant functions;
Exclusive Time only measures time spent in the function itself, without including the descendant calls.

Install the PHP5 module:

graphviz Installation it's used for Displaying the execution path in a kind
of flow chart between methods.

# for centos sudo
yum install graphviz

# for ubuntu and debian
sudo apt-get install graphviz

Install PECl on centos:

yum install php-pear

But get: No package Available

For Centos 5:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm;

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm;

For Centos 6:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm;

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm;

Install php -pear:

yum --enablerepo=remi,remi-php55 install php-pear

For Ubuntu OS:

sudo pear upgrade pear

sudo pecl install -f xhprof

Add this to php.ini

extension=xhprof.so

sudo /etc/init.d/apache2 restart

Install xhprof:

sudo pecl config-set preferred_state beta

sudo pecl install xhprof

cd /tmp

wget http://pecl.php.net/get/xhprof-0.9.4.tgz

tar zxf xhprof-0.9.4.tgz

cd xhprof-0.9.4/extension

phpize ./configure

make

sudo make install

# for centos

sudo touch /etc/php.d/xhprof.ini

# for ubuntu and debian

sudo touch /etc/php5/conf.d/xhprof.ini

Paste the below code in to xhprof.ini

[xhprof]
extension=xhprof.so
xhprof.output_dir="/tmp/xhprof"

Then restart the web server by below command

# for centos
sudo /etc/init.d/httpd restart

# for ubuntu and debian
sudo /etc/init.d/apache2 restart

Install the supporting PHP code

git clone git://github.com/preinheimer/xhprof.git

cd xhprof_lib/

cp config.sample.php config.php

Move xhprof
Move xhprof file from tmp folder to opt folder(It preserve xhprof file never delete when server restart)

mv xhprof-0.9.4  /opt
Create the alias for the xhprof at apache conf for the file location:
For Apache2:
cd  /etc/apache2/sites-enabled/000-default.conf
Alias /xhprof /opt/xhprof-0.9.2/xhprof_html

For Apache:

cd /etc/httpd/conf/httpd.conf
Alias /xhprof /opt/xhprof-0.9.2/xhprof_html.

Put the entry on web interface(UI):

Save the configurations of xhprof file and alias in devel settings.
SITE_URL/admin/config/development/devel

xhprof configuration

Report

xhprof report
Now we can check the Xhprof process.

Ref Link: https://stojg.se/blog/2011-08-27-install-xhprof-for-php5-on-centos-ubunt...

More Details: http://techportal.inviqa.com/2009/12/01/profiling-with-xhprof/

CommentFileSizeAuthor
report.png1.02 MBarunkumark
xhprof_configuration.png14.46 KBarunkumark
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

arunkumark created an issue. See original summary.

arunkumark’s picture

Title: Installation and configuration of Xhprof on Centos/Ubuntu » Installation and configuration of Xhprof for Drupal in Centos/Ubuntu
arunkumark’s picture

Status: Active » Needs review
apaderno’s picture

Component: Docs infrastructure » Missing documentation
Status: Needs review » Postponed (maintainer needs more info)

Is this a suggestion for a new documentation page?