Example #1
0
 protected function parse()
 {
     $handle = TraceFile::open($this->traceFile);
     while (!feof($handle)) {
         $line = fgets($handle, 4096);
         $parts = explode("\t", trim($line));
         if (count($parts) >= 5) {
             if ('0' == $parts[2]) {
                 $this->parseEntry($parts);
             } elseif ('1' == $parts[2]) {
                 $this->parseExit($parts);
             }
         }
     }
     fclose($handle);
 }
Example #2
0
 /**
  * @return array
  */
 protected function parse()
 {
     $peak = -1;
     $call = null;
     $file = null;
     $line = null;
     $entries = array();
     $handle = TraceFile::open($this->traceFile);
     while (!feof($handle)) {
         // check line
         $buffer = fgets($handle, 4096);
         $parts = explode("\t", trim($buffer));
         if (count($parts) < 5) {
             continue;
         }
         // save entry
         $level = $parts[0];
         if ('0' == $parts[2]) {
             $entries[$level] = $parts;
         }
         // save peak
         $memory = $parts[4];
         if ($memory > $peak) {
             $peak = $memory;
             if (isset($entries[$level])) {
                 $call = $entries[$level][5];
                 $file = $entries[$level][8];
                 $line = $entries[$level][9];
             } else {
                 $call = null;
                 $file = null;
                 $line = null;
             }
         }
     }
     fclose($handle);
     return array($peak, $call, $file, $line);
 }
 protected function parse()
 {
     if (isset(self::$calls[$this->traceFile])) {
         return;
     }
     self::$calls[$this->traceFile] = array();
     $handle = TraceFile::open($this->traceFile);
     while (!feof($handle)) {
         $line = fgets($handle, 4096);
         $parts = explode("\t", trim($line));
         if (count($parts) >= 5) {
             if ('0' == $parts[2]) {
                 $this->parseEntry($parts);
             } elseif ('1' == $parts[2]) {
                 $this->parseExit($parts);
             }
         }
     }
     fclose($handle);
     // calculate own time, and own memory
     foreach (self::$calls[$this->traceFile] as &$call) {
         $call['time-own'] = $call['time-inclusive'] - $call['time-children'];
         $call['memory-own'] = $call['memory-inclusive'] - $call['memory-children'];
     }
 }
Example #4
0
 public function testValidFile()
 {
     $handle = TraceFile::open(__DIR__ . '/_files/trace.xt');
     $this->assertInternalType('resource', $handle);
     fclose($handle);
 }