aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-06-27 15:05:11 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-06-27 15:05:11 +0200
commit0759505be988ad2b8c9d14ec322681e48033a687 (patch)
tree45e9debb221ea7e39078e9b519a3590c4fa5d198 /kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
parent7d79ec25e8d08b5f058f6d7f06725311bb37dbf5 (diff)
downloadKamon-0759505be988ad2b8c9d14ec322681e48033a687.tar.gz
Kamon-0759505be988ad2b8c9d14ec322681e48033a687.tar.bz2
Kamon-0759505be988ad2b8c9d14ec322681e48033a687.zip
add timer utility metric, based on histograms
Diffstat (limited to 'kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala b/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
index 07c1d202..07a0ebaa 100644
--- a/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
+++ b/kamon-core/src/main/scala/kamon/metric/MetricRegistry.scala
@@ -21,6 +21,7 @@ import java.util.concurrent.atomic.AtomicReference
import com.typesafe.config.Config
import kamon.metric.InstrumentFactory.{InstrumentType, InstrumentTypes}
import kamon.util.MeasurementUnit
+import kamon.util.MeasurementUnit.time
import scala.collection.concurrent.TrieMap
import java.time.Duration
@@ -53,6 +54,9 @@ class MetricRegistry(initialConfig: Config, scheduler: ScheduledExecutorService)
def minMaxCounter(name: String, unit: MeasurementUnit, dynamicRange: Option[DynamicRange], sampleInterval: Option[Duration]): MinMaxCounterMetric =
lookupMetric(name, unit, InstrumentTypes.MinMaxCounter)(new MinMaxCounterMetricImpl(name, unit, dynamicRange, sampleInterval, instrumentFactory, scheduler))
+ def timer(name: String, dynamicRange: Option[DynamicRange]): TimerMetric =
+ new TimerMetricImpl(histogram(name, time.nanoseconds, dynamicRange))
+
override def snapshot(): MetricsSnapshot = synchronized {
var histograms = Seq.empty[MetricDistribution]