/** * @param Metric $metric */ private function publishMetric(Metric $metric) { if ($metric->getType() == Metric::TYPE_INCREMENT) { $this->beberleiCollector->increment($metric->getName()); } elseif ($metric->getType() == Metric::TYPE_DECREMENT) { $this->beberleiCollector->decrement($metric->getName()); } elseif ($metric->getType() == Metric::TYPE_TIMING) { $this->beberleiCollector->timing($metric->getName(), $metric->getValue()); } else { $this->beberleiCollector->measure($metric->getName(), $metric->getValue()); } }
function it_supports_many_metrics(Collector $beberleiCollector) { $beberleiCollector->measure('foo', 1)->shouldBeCalled(); $beberleiCollector->measure('bar', 'baz')->shouldBeCalled(); $this->publish([new Metric('foo', 1), new Metric('bar', 'baz')]); }