public function getFunctionStats() {
$this->collateData();
- $totalCpu = max( $this->end['cpu'] - $this->start['cpu'], 0 );
- $totalReal = max( $this->end['real'] - $this->start['real'], 0 );
- $totalMem = max( $this->end['memory'] - $this->start['memory'], 0 );
+ if ( is_array( $this->start ) ) {
+ $totalCpu = max( $this->end['cpu'] - $this->start['cpu'], 0 );
+ $totalReal = max( $this->end['real'] - $this->start['real'], 0 );
+ $totalMem = max( $this->end['memory'] - $this->start['memory'], 0 );
+ } else {
+ $totalCpu = 0;
+ $totalReal = 0;
+ $totalMem = 0;
+ }
$profile = [];
foreach ( $this->collated as $fname => $data ) {
}
}
}
-
-/**
- * Subclass ScopedCallback to avoid call_user_func_array(), which is slow
- *
- * This class should not be used outside of SectionProfiler
- */
-class SectionProfileCallback extends ScopedCallback {
- /** @var SectionProfiler */
- protected $profiler;
- /** @var string */
- protected $section;
-
- /**
- * @param SectionProfiler $profiler
- * @param string $section
- */
- public function __construct( SectionProfiler $profiler, $section ) {
- parent::__construct( null );
- $this->profiler = $profiler;
- $this->section = $section;
- }
-
- function __destruct() {
- $this->profiler->profileOutInternal( $this->section );
- }
-}