Example #1
0
 /**
  * Start a new benchmark
  *
  * @param string $name Unique identifier like e.g. Class::Method (\Foobar\MyClass::doSomething)
  * @param array $metadata Additional metadata
  * @param string $component Name of the component which triggered the benchmark, e.g. "App", "Database"
  * @return BenchmarkInterface The started benchmark
  */
 public function start($name, array $metadata = [], $component = null)
 {
     $benchmark = BenchmarkFactory::getBenchmark($name, $metadata, $component);
     $benchmark->start();
     $this->addBenchmark($benchmark);
     return $benchmark;
 }
 /**
  * @covers Fabfuel\Prophiler\Profiler::__construct
  * @covers Fabfuel\Prophiler\Profiler::count
  * @covers Fabfuel\Prophiler\Profiler::addBenchmark
  * @covers Fabfuel\Prophiler\Profiler::getBenchmarks
  * @uses   Fabfuel\Prophiler\Benchmark\BenchmarkFactory
  * @uses   Fabfuel\Prophiler\Benchmark\Benchmark
  */
 public function testAddAndCountBenchmarks()
 {
     $benchmark1 = BenchmarkFactory::getBenchmark('fooabar');
     $benchmark2 = BenchmarkFactory::getBenchmark('lorem');
     $benchmark3 = BenchmarkFactory::getBenchmark('ipsum');
     $profiler = $this->profiler->addBenchmark($benchmark1)->addBenchmark($benchmark2)->addBenchmark($benchmark3);
     $this->assertSame($profiler, $this->profiler);
     $this->assertSame(3, $this->profiler->count());
     $benchmarks = $this->profiler->getBenchmarks();
     $this->assertTrue(isset($benchmarks[spl_object_hash($benchmark1)]));
     $this->assertTrue(isset($benchmarks[spl_object_hash($benchmark2)]));
     $this->assertTrue(isset($benchmarks[spl_object_hash($benchmark3)]));
 }