Skip to content

pvolyntsev/xhprof

 
 

Repository files navigation

XHProf UI

This is a graphical front end designed to store and present the profiling information provided by the Facebook created XHProf profiling tool.

Related Tools:

  • XHGui - Uses MongoDB as a backend (rather than MySQL)
  • XHProf.io - Uses MySQL backend, more normalized storage schema

This branch/clone/whatever git calls it of the official Facebook GUI does a few things:

  • It includes a header.php document you can use with PHP's auto_prepend_file directive. It sets up profiling by initilizing a few variables, and settting register_shutdown_function with the footer. Once started profiles are done when requested (?_profile=1), or randomly. Profiled pages display a link to their profile results at the bottom of the page (this can be disabled on a blacklist based for specific documents. e.g. pages generating XML, images, etc.).
  • For tips on including header.php on an nginx + php-fpm install take a look at: http://www.justincarmony.com/blog/2012/04/23/php-fpm-nginx-php_value-and-multiple-values/
  • The GUI is a bit prettier (Thanks to Graham Slater)
  • It uses a MySQL backend, the database schema is stored in xhprof_runs.php
  • There's a frontend to view different runs, compare runs to the same url, etc.

Key features include:

Requirements:

Work that we're still doing:

  • The aggregation functionality is ignored completely
  • The code is... a mess. Deadlines do that to you, we're working on it
  • The default table schema isn't indexed all the places it needs to be
  • Easier ways to diff URLs

About

XHGUI is a GUI for the XHProf PHP extension, using a database backend, and pretty graphs to make it easy to use and interpret.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • PHP 60.0%
  • C 22.9%
  • JavaScript 13.0%
  • CSS 4.1%