From f1c6ceffa22c59a463d6d8cd2ca77e2b440eb450 Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Mon, 29 Oct 2018 17:45:57 +0100 Subject: Implement a module registry that supports loading from configuration (#559) --- kamon-core/src/main/scala/kamon/Metrics.scala | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 kamon-core/src/main/scala/kamon/Metrics.scala (limited to 'kamon-core/src/main/scala/kamon/Metrics.scala') diff --git a/kamon-core/src/main/scala/kamon/Metrics.scala b/kamon-core/src/main/scala/kamon/Metrics.scala new file mode 100644 index 00000000..a2b74c20 --- /dev/null +++ b/kamon-core/src/main/scala/kamon/Metrics.scala @@ -0,0 +1,31 @@ +package kamon + +import java.time.Duration + +import kamon.metric._ + + +trait Metrics extends MetricLookup { self: Configuration with Utilities => + private val _metricsRegistry = new MetricRegistry(self.config(), self.scheduler()) + + override def histogram(name: String, unit: MeasurementUnit, dynamicRange: Option[DynamicRange]): HistogramMetric = + _metricsRegistry.histogram(name, unit, dynamicRange) + + override def counter(name: String, unit: MeasurementUnit): CounterMetric = + _metricsRegistry.counter(name, unit) + + override def gauge(name: String, unit: MeasurementUnit): GaugeMetric = + _metricsRegistry.gauge(name, unit) + + override def rangeSampler(name: String, unit: MeasurementUnit, sampleInterval: Option[Duration], + dynamicRange: Option[DynamicRange]): RangeSamplerMetric = + _metricsRegistry.rangeSampler(name, unit, dynamicRange, sampleInterval) + + override def timer(name: String, dynamicRange: Option[DynamicRange]): TimerMetric = + _metricsRegistry.timer(name, dynamicRange) + + + protected def metricRegistry(): MetricRegistry = + _metricsRegistry + +} -- cgit v1.2.3