aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala
diff options
context:
space:
mode:
authorIvan Topolnak <itopolnak@despegar.com>2014-02-03 18:10:08 -0300
committerIvan Topolnjak <ivantopo@gmail.com>2014-02-04 09:18:08 -0300
commit5d296a16270b1ec66d206ef1195208ea864f49c1 (patch)
tree03d71af983c7737234a13695bef0bf97cf5e4411 /kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala
parent9534d698ccf7e7c368db5e896abdb5d13ce27a48 (diff)
downloadKamon-5d296a16270b1ec66d206ef1195208ea864f49c1.tar.gz
Kamon-5d296a16270b1ec66d206ef1195208ea864f49c1.tar.bz2
Kamon-5d296a16270b1ec66d206ef1195208ea864f49c1.zip
create the notion of a metric group category for easier filtering when subscribing
Diffstat (limited to 'kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala26
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))
+ }
}
}