aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/Metrics.scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2018-10-29 17:45:57 +0100
committerGitHub <noreply@github.com>2018-10-29 17:45:57 +0100
commitf1c6ceffa22c59a463d6d8cd2ca77e2b440eb450 (patch)
tree5b871456e3d5ec72ed19a85484a28975efafc4a4 /kamon-core/src/main/scala/kamon/Metrics.scala
parentd0a0dfe886952ba924adacaabf85cb96ce5fe032 (diff)
downloadKamon-f1c6ceffa22c59a463d6d8cd2ca77e2b440eb450.tar.gz
Kamon-f1c6ceffa22c59a463d6d8cd2ca77e2b440eb450.tar.bz2
Kamon-f1c6ceffa22c59a463d6d8cd2ca77e2b440eb450.zip
Implement a module registry that supports loading from configuration (#559)
Diffstat (limited to 'kamon-core/src/main/scala/kamon/Metrics.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/Metrics.scala31
1 files changed, 31 insertions, 0 deletions
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
+
+}