titledk / silverstripe-xhprof
A Silverstripe module for facilitating profiling with XHProf
Installs: 67
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 5
Forks: 924
Type:silverstripe-module
Requires
- php: >=5.3.2
- silverstripe/cms: 3.*
- silverstripe/framework: 3.*
This package is not auto-updated.
Last update: 2024-12-21 14:58:24 UTC
README
A Silverstripe module for facilitating profiling with XHProf.
Since the Silverstripe 3 release, Silverstripe's built-in profiling has been disabled (see this thread). Thus, this module has sprung out of neccesity for profiling in Silverstripe 3.
This is a fork from the XHProf PHP compiler, open sourced by Facebook in 2009. It has been amended for easy integration with Silverstripe as well as installation instructions in this readme.
Requirements
- *nix environment (probably works on OSX as well)
- Silverstripe 3+
Would also work on older Silverstripe versions, but installation instructions need to be amended
Installation
XHProf needs to be installed and running on your system for this module to work. Once XHPprof has been installed, follow the following steps:
- Download this module, and place it in your Silverstripe root, calling it
xhprof
- Edit
/framework/main.php
, adding the following lines at the very top (under<?php
), and at the very bottom:
include "../xhprof/_includes/header.php";
include "../xhprof/_includes/footer.php";
- Now, when running your site, you should see a
Profiler output
link on the very bottom of your site
Installing XHProf
On an *nix machine with PECL installed, follow this instruction:
[sudo] pecl config-set preferred_state beta
[sudo ] pecl install xhprof
- Once installed, add this to the end of your
php.ini
file:
[xhprof]
extension=xhprof.so
xhprof.output_dir="/var/tmp/xhprof"`
You might need to create the dirctory
- For the graphs to work, you need to install GraphViz:
apt-get install graphviz
XHProf Resources
- A very good guide on profiling with XHProf:
http://techportal.inviqa.com/2009/12/01/profiling-with-xhprof/ - Another tutorial:
http://net.tutsplus.com/tutorials/php/advanced-codeigniter-profiling-with-xhprof/
Other Solutions
Beyond XHProf another PHP profiling solution would be using xDebug, combined with a visualizer, which would either be built-in to an IDE, or using the PHP-based Webgrind web interface.