Beispiel #1
0
 public function testCapturesTimes()
 {
     $this->timer->begin([]);
     $this->timer->begin(['1']);
     $this->timer->begin(['1', 'a']);
     $this->timer->end(['1']);
     $this->timer->end([]);
     $times = $this->timer->getTimes();
     $begin = Timer::MARKER_BEGIN;
     $end = Timer::MARKER_END;
     $this->assertEquals([$begin, 1, $end], array_keys($times));
     $this->assertEquals([$begin, 'a', $end], array_keys($times[1]));
     $this->assertEquals([$begin], array_keys($times[1]['a']));
     $this->assertIsATime($times[$begin]);
     $this->assertIsATime($times[1][$begin]);
     $this->assertIsATime($times[1]['a'][$begin]);
     $this->assertIsATime($times[1][$end]);
     $this->assertIsATime($times[$end]);
 }
Beispiel #2
0
 /**
  * Return a tree of time periods from a Timer
  *
  * @param Timer $timer Timer object
  * @return array
  */
 public function buildTree(Timer $timer)
 {
     $times = $timer->getTimes();
     if (!isset($times[':end'])) {
         $times[':end'] = microtime();
     }
     $begin = $this->findBeginTime($times);
     $end = $this->findEndTime($times);
     $this->total = $this->diffMicrotime($begin, $end);
     return $this->analyzePeriod('', $times);
 }