mWorkStack[] = array( '-total', 0, $wgRequestTime,$this->getCpuTime($wgRUstart)); $elapsedcpu = $this->getCpuTime() - $this->getCpuTime($wgRUstart); $elapsedreal = microtime(true) - $wgRequestTime; } $this->trace .= "Beginning trace: \n"; } function profileIn($functionname) { global $wgDebugFunctionEntry; $this->mWorkStack[] = array($functionname, count( $this->mWorkStack ), microtime(true), $this->getCpuTime()); $this->trace .= str_repeat( " ", count($this->mWorkStack) + 14) . " > " . $functionname . "\n"; } function profileOut($functionname) { global $wgDebugFunctionEntry; if ($wgDebugFunctionEntry) { $this->debug(str_repeat(' ', count($this->mWorkStack) - 1).'Exiting '.$functionname."\n"); } list($ofname, /* $ocount */ ,$ortime,$octime) = array_pop($this->mWorkStack); if (!$ofname) { $this->trace .= "Profiling error: $functionname\n"; } else { if ($functionname == 'close') { $message = "Profile section ended by close(): {$ofname}"; $functionname = $ofname; $this->trace .= $message . "\n"; } elseif ($ofname != $functionname) { $self->trace .= "Profiling error: in({$ofname}), out($functionname)"; } $elapsedcpu = $this->getCpuTime() - $octime; $elapsedreal = microtime(true) - $ortime; $this->trace .= sprintf("%03.6f ",$elapsedreal) . str_repeat(" ",count($this->mWorkStack)+1) . " < " . $functionname . "\n"; } } function getOutput() { print ""; } }