aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/metric/InstrumentFactory.scala
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-06-11 10:02:22 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-06-11 10:02:22 +0200
commite8d3e612dcf0fa396a25920a23f108f6ab8c2e61 (patch)
treee1d702aa2eabbfabc9690a5cdc3ca6ac59ae69b9 /kamon-core/src/main/scala/kamon/metric/InstrumentFactory.scala
parentde3e823cec6ec12d551f568b73d2ad1061944222 (diff)
downloadKamon-e8d3e612dcf0fa396a25920a23f108f6ab8c2e61.tar.gz
Kamon-e8d3e612dcf0fa396a25920a23f108f6ab8c2e61.tar.bz2
Kamon-e8d3e612dcf0fa396a25920a23f108f6ab8c2e61.zip
separate metrics from instruments and add default instrument for metrics
Diffstat (limited to 'kamon-core/src/main/scala/kamon/metric/InstrumentFactory.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/metric/InstrumentFactory.scala13
1 files changed, 11 insertions, 2 deletions
diff --git a/kamon-core/src/main/scala/kamon/metric/InstrumentFactory.scala b/kamon-core/src/main/scala/kamon/metric/InstrumentFactory.scala
index 4bd151d3..2eeb69f8 100644
--- a/kamon-core/src/main/scala/kamon/metric/InstrumentFactory.scala
+++ b/kamon-core/src/main/scala/kamon/metric/InstrumentFactory.scala
@@ -29,11 +29,11 @@ import scala.concurrent.duration._
private[kamon] class InstrumentFactory private (defaultHistogramDynamicRange: DynamicRange, defaultMMCounterDynamicRange: DynamicRange,
defaultMMCounterSampleInterval: Duration, customSettings: Map[String, CustomInstrumentSettings]) {
- def buildHistogram(dynamicRange: Option[DynamicRange])(name: String, tags: Map[String, String], unit: MeasurementUnit): SnapshotableHistogram =
+ def buildHistogram(dynamicRange: Option[DynamicRange])(name: String, tags: Map[String, String], unit: MeasurementUnit): HdrHistogram =
new HdrHistogram(name, tags, unit, instrumentDynamicRange(name, dynamicRange.getOrElse(defaultHistogramDynamicRange)))
def buildMinMaxCounter(dynamicRange: Option[DynamicRange], sampleInterval: Option[Duration])
- (name: String, tags: Map[String, String], unit: MeasurementUnit): SnapshotableMinMaxCounter =
+ (name: String, tags: Map[String, String], unit: MeasurementUnit): SimpleMinMaxCounter =
new SimpleMinMaxCounter(
name,
tags,
@@ -67,6 +67,15 @@ private[kamon] class InstrumentFactory private (defaultHistogramDynamicRange: Dy
object InstrumentFactory {
+ case class InstrumentType(name: String)
+
+ object InstrumentTypes {
+ val Histogram = InstrumentType("Histogram")
+ val MinMaxCounter = InstrumentType("MinMaxCounter")
+ val Counter = InstrumentType("Counter")
+ val Gauge = InstrumentType("Gauge")
+ }
+
def fromConfig(config: Config): InstrumentFactory = {
val factoryConfig = config.getConfig("kamon.metric.instrument-factory")
val histogramDynamicRange = readDynamicRange(factoryConfig.getConfig("default-settings.histogram"))