Flamegraphs for Query Monitor
JavaScript PHP CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
css
inc
js/d3-flame-graph
.gitignore
README.md
query-monitor-flamegraph.php

README.md

Query Monitor Flamegraph
This Query Monitor extension will add profiling framegraphs to Query Monitor via the xhprof PHP extension.
A Human Made project. Maintained by @joehoyle.

Install Instructions

  1. Have the Query Monitor plugin installed and activated.
  2. Have the xhprof PHP extension installed.
  3. Install this plugin :)
  4. Add a call to xhprof_sample_enable(); to your wp-config.php

Versions of XHProf

Unfortunately XHProf is not actively maintained and has some shortcomings. Flamegraph makes use of the xhprof_sample_enable() function which by is hardcoded to 100ms intervals with the official XHProf extension. There's several forks and updates to XHProf, refer to the table below:

Project Compatible Notes
XHProf Official yes Note: Doesn't support PHP 7. Is restricted to 100ms interval sampling, making it useless for the most part.
XHProf with configurable sampling yes Note: Doesn't support PHP 7. Best solution! However, you'll need to build from source.
Tideways no Tideways is an XHProf fork, however doesn't support *_sample_enabled. See https://github.com/tideways/php-profiler-extension/issues/26.
XHProf PHP7 fork no Doesn't support xhprof_sample_enabled

If you know of any other XHProf forks or compatible output libraries, be sure to let me know!