- Add protection against segfault in combination with XDebug < 2.2.7 See xdebug/xdebug#131
-
Improve auto loading/start functionality by using better abstractions from Zend Engine. Replaced copied code from
spl_autoload
with call tozend_execute_scripts
. -
Bugfix in sql argument summary when FROM keyword was found, but it was not a SELECT/INSERT/UPDATE/DELETE statement.
-
Add support for profiling Event-based frameworks/applications Optionally collect the name of the event triggered as part of the function call for the following libraries:
- Doctrine 2
- Zend Framework 2
- Symfony 2
- Drupal
- Wordpress
- Magento
- Enlight/Shopware
-
Add optional support to auto start profiling and transmitting to Qafoo Profiler platform by copying
QafooProfiler.php
next to theqafooprofiler.so
.
- Fix bug in
eval()
support
- Fix bug in Smarty support
- Fix bug in overwrite mechanism of
zend_execute
for transacation name detection. - Improve performance for transaction name detection when no layer data is requested.
- Rename extension to
qafooprofiler
- Add support for transaction name detection when not fully profiling (layer-mode)
-
Fix segfault in Twig_Template#getTemplateName instrumentation on PHP versions < 5.5
-
Fix segfault in memory handling of fatal error callback when catching an exception.
-
Fix missing TSRMLS_CC/DC flags and a missing TSRMLS_FETCH() to allow compilation on threaded systems such as Travis running with --enable-zts-maintainer flag.
-
Enabled Travis CI
-
Fix segfault in Twig_Template#getTemplateName instrumentation.
-
Integrate curl dependency into repository cleanly to avoid problems with having to copy the
php_curl.h
header around.
-
Apply patch by [email protected] to fix frequency collection on linux: https://bugs.php.net/bug.php?id=64165
-
Apply patch by [email protected] to fix Mac timing: https://bugs.php.net/bug.php?id=61132
-
Improve performance on modern CPUs by checking for invariant tsc, a feature that guarantees the same timer values and speed in the
cpuinfo
register.This allows xhprof to avoid the costly bind to a single CPU, which causes performance problems on servers with very high load. Binding to cpus disallows migrating the threads to another cpu and prevents the Kernel to adjust different loads of cpus.
-
Remove
xhprof_sample_disable()
, usexhprof_disable()
instead when in sampling mode. -
Add
xhprof_layers_enable()
that accepts an array of key value pairs in the constructor containing function names to layers. Will automatically set theXHPROF_FLAGS_NOUSERLAND
mode and use the passed functions as afunctions
whitelist. The result is a profiling report only based on grouping certain function calls into layers. If you want to profile the request as well, add"main()" => "main()"
as an entry. -
Add new constant
XHPROF_FLAGS_NOUSERLAND
when set will not override the zend_execute hook for userland functions. -
Add new function
xhprof_last_fatal_error()
that returns information on PHP fatal error with trace and more information than PHP core has usually.Overrides zend_error_cb such that it will not work when xdebug is also enabled (depends on the order).
- Add
argument_functions
feature that allows logging the arguments of a function. Includes special handling for a lot of interesting functions that will want this feature, for examplePDO::execute
.
- Fix segfault with PHP 5.5.9 and up
- Add new option
functions
toxhprof_enable()
that allows whitelist profiling of functions.