diff options
Diffstat (limited to 'kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala b/kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala index 66801481..ccffe382 100644 --- a/kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala +++ b/kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala @@ -20,12 +20,14 @@ import org.HdrHistogram.HighDynamicRangeRecorder import scala.collection.concurrent.TrieMap import com.typesafe.config.Config -object TraceMetrics extends MetricGroupIdentity.Category with MetricGroupFactory { - type GroupRecorder = TraceMetricRecorder - val entityName = "trace" +case class TraceMetrics(name: String) extends MetricGroupIdentity { + val category = TraceMetrics +} - case object ElapsedTime extends MetricIdentity { val name, tag = "ElapsedTime" } +object TraceMetrics extends MetricGroupCategory { + val name = "trace" + case object ElapsedTime extends MetricIdentity { val name, tag = "ElapsedTime" } case class HttpClientRequest(name: String, tag: String) extends MetricIdentity class TraceMetricRecorder(val elapsedTime: HighDynamicRangeRecorder, private val segmentRecorderFactory: () ⇒ HighDynamicRangeRecorder) @@ -48,14 +50,18 @@ object TraceMetrics extends MetricGroupIdentity.Category with MetricGroupFactory def metrics: Map[MetricIdentity, MetricSnapshot] = segments + (ElapsedTime -> elapsedTime) } - def create(config: Config): TraceMetricRecorder = { - import HighDynamicRangeRecorder.Configuration + val Factory = new MetricGroupFactory { + type GroupRecorder = TraceMetricRecorder - val settings = config.getConfig("kamon.metrics.precision.trace") - val elapsedTimeHdrConfig = Configuration.fromConfig(settings.getConfig("elapsed-time")) - val segmentHdrConfig = Configuration.fromConfig(settings.getConfig("segment")) + def create(config: Config): TraceMetricRecorder = { + import HighDynamicRangeRecorder.Configuration - new TraceMetricRecorder(HighDynamicRangeRecorder(elapsedTimeHdrConfig), () ⇒ HighDynamicRangeRecorder(segmentHdrConfig)) + val settings = config.getConfig("kamon.metrics.precision.trace") + val elapsedTimeHdrConfig = Configuration.fromConfig(settings.getConfig("elapsed-time")) + val segmentHdrConfig = Configuration.fromConfig(settings.getConfig("segment")) + + new TraceMetricRecorder(HighDynamicRangeRecorder(elapsedTimeHdrConfig), () ⇒ HighDynamicRangeRecorder(segmentHdrConfig)) + } } } |