X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Flibs%2FXhprof.php;h=e58d98fcc3bf10d2d62aa4a983e83a49e9af52be;hb=e0b2787dae749ba3d4cb18bc9b3fe789db69046f;hp=9c1ec8eb013bf671270eb9de6183b8a213b5a829;hpb=633c0da23af1cdb16f8edb6252f1c1138422162c;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/Xhprof.php b/includes/libs/Xhprof.php index 9c1ec8eb01..e58d98fcc3 100644 --- a/includes/libs/Xhprof.php +++ b/includes/libs/Xhprof.php @@ -23,6 +23,10 @@ * . XHProf can be installed as a PECL * package for use with PHP5 (Zend PHP) and is built-in to HHVM 3.3.0. * + * This also supports using the Tideways profiler + * , which additionally + * has support for PHP7. + * * @since 1.28 */ class Xhprof { @@ -33,6 +37,7 @@ class Xhprof { /** * Start xhprof profiler + * @return bool */ public static function isEnabled() { return self::$enabled; @@ -40,13 +45,22 @@ class Xhprof { /** * Start xhprof profiler + * @param int $flags + * @param array $options + * @throws Exception */ public static function enable( $flags = 0, $options = [] ) { if ( self::isEnabled() ) { - throw new Exception( 'Xhprof profiling is already enabled.' ); + throw new Exception( 'Profiling is already enabled.' ); } self::$enabled = true; - xhprof_enable( $flags, $options ); + if ( function_exists( 'xhprof_enable' ) ) { + xhprof_enable( $flags, $options ); + } elseif ( function_exists( 'tideways_enable' ) ) { + tideways_enable( $flags, $options ); + } else { + throw new Exception( "Neither xhprof nor tideways are installed" ); + } } /** @@ -57,7 +71,12 @@ class Xhprof { public static function disable() { if ( self::isEnabled() ) { self::$enabled = false; - return xhprof_disable(); + if ( function_exists( 'xhprof_disable' ) ) { + return xhprof_disable(); + } else { + // tideways + return tideways_disable(); + } } } }