diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2014-02-02 23:18:54 -0300 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2014-02-02 23:18:54 -0300 |
commit | 6f036514edb6dd406803acdffcff437dd92efe9b (patch) | |
tree | 62d252789619586205a0b5323a4140b3dab98472 | |
parent | f293332a6123b1ab24f83edb5ff56bd0335c20ad (diff) | |
download | Kamon-6f036514edb6dd406803acdffcff437dd92efe9b.tar.gz Kamon-6f036514edb6dd406803acdffcff437dd92efe9b.tar.bz2 Kamon-6f036514edb6dd406803acdffcff437dd92efe9b.zip |
add tags to individual metrics
-rw-r--r-- | kamon-core/src/main/scala/kamon/metrics/ActorMetrics.scala | 6 | ||||
-rw-r--r-- | kamon-core/src/main/scala/kamon/metrics/Metrics.scala | 1 | ||||
-rw-r--r-- | kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala | 6 | ||||
-rw-r--r-- | kamon-spray/src/main/resources/META-INF/aop.xml | 2 | ||||
-rw-r--r-- | kamon-spray/src/main/scala/spray/can/client/ClientRequestInstrumentation.scala (renamed from kamon-spray/src/main/scala/spray/can/client/ClientRequestTracing.scala) | 9 |
5 files changed, 14 insertions, 10 deletions
diff --git a/kamon-core/src/main/scala/kamon/metrics/ActorMetrics.scala b/kamon-core/src/main/scala/kamon/metrics/ActorMetrics.scala index e588449e..66d3f888 100644 --- a/kamon-core/src/main/scala/kamon/metrics/ActorMetrics.scala +++ b/kamon-core/src/main/scala/kamon/metrics/ActorMetrics.scala @@ -23,9 +23,9 @@ object ActorMetrics extends MetricGroupIdentity.Category with MetricGroupFactory type GroupRecorder = ActorMetricRecorder val entityName = "actor" - case object ProcessingTime extends MetricIdentity { val name = "ProcessingTime" } - case object MailboxSize extends MetricIdentity { val name = "MailboxSize" } - case object TimeInMailbox extends MetricIdentity { val name = "TimeInMailbox" } + case object ProcessingTime extends MetricIdentity { val name, tag = "ProcessingTime" } + case object MailboxSize extends MetricIdentity { val name, tag = "MailboxSize" } + case object TimeInMailbox extends MetricIdentity { val name, tag = "TimeInMailbox" } case class ActorMetricRecorder(processingTime: MetricRecorder, mailboxSize: MetricRecorder, timeInMailbox: MetricRecorder) extends MetricGroupRecorder { diff --git a/kamon-core/src/main/scala/kamon/metrics/Metrics.scala b/kamon-core/src/main/scala/kamon/metrics/Metrics.scala index a3d7af87..2a9c5c65 100644 --- a/kamon-core/src/main/scala/kamon/metrics/Metrics.scala +++ b/kamon-core/src/main/scala/kamon/metrics/Metrics.scala @@ -24,6 +24,7 @@ case class MetricGroupIdentity(name: String, category: MetricGroupIdentity.Categ trait MetricIdentity { def name: String + def tag: String } trait MetricGroupRecorder { diff --git a/kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala b/kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala index 57a79653..66801481 100644 --- a/kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala +++ b/kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala @@ -24,11 +24,9 @@ object TraceMetrics extends MetricGroupIdentity.Category with MetricGroupFactory type GroupRecorder = TraceMetricRecorder val entityName = "trace" - case object ElapsedTime extends MetricIdentity { - val name = "ElapsedTime" - } + case object ElapsedTime extends MetricIdentity { val name, tag = "ElapsedTime" } - case class HttpClientRequest(name: String) extends MetricIdentity + case class HttpClientRequest(name: String, tag: String) extends MetricIdentity class TraceMetricRecorder(val elapsedTime: HighDynamicRangeRecorder, private val segmentRecorderFactory: () ⇒ HighDynamicRangeRecorder) extends MetricGroupRecorder { diff --git a/kamon-spray/src/main/resources/META-INF/aop.xml b/kamon-spray/src/main/resources/META-INF/aop.xml index 2f1db767..6aacbdb3 100644 --- a/kamon-spray/src/main/resources/META-INF/aop.xml +++ b/kamon-spray/src/main/resources/META-INF/aop.xml @@ -6,7 +6,7 @@ <aspect name="spray.can.server.ServerRequestInstrumentation"/> <!-- Spray Client --> - <aspect name="spray.can.client.ClientRequestTracing"/> + <aspect name="spray.can.client.ClientRequestInstrumentation"/> </aspects> <weaver options="-verbose -showWeaveInfo"> diff --git a/kamon-spray/src/main/scala/spray/can/client/ClientRequestTracing.scala b/kamon-spray/src/main/scala/spray/can/client/ClientRequestInstrumentation.scala index c74019dd..868cbaca 100644 --- a/kamon-spray/src/main/scala/spray/can/client/ClientRequestTracing.scala +++ b/kamon-spray/src/main/scala/spray/can/client/ClientRequestInstrumentation.scala @@ -26,7 +26,8 @@ import kamon.Kamon import kamon.spray.Spray @Aspect -class ClientRequestTracing { +class ClientRequestInstrumentation { + import ClientRequestInstrumentation._ @DeclareMixin("spray.can.client.HttpHostConnector.RequestContext") def mixin: SegmentCompletionHandleAware = SegmentCompletionHandleAware.default @@ -48,7 +49,7 @@ class ClientRequestTracing { "method" -> request.method.toString()) val clientRequestName = Kamon(Spray)(traceContext.system).assignHttpClientRequestName(request) - val completionHandle = traceContext.startSegment(HttpClientRequest(clientRequestName), requestAttributes) + val completionHandle = traceContext.startSegment(HttpClientRequest(clientRequestName, SprayTime), requestAttributes) ctx.segmentCompletionHandle = Some(completionHandle) } } @@ -81,5 +82,9 @@ class ClientRequestTracing { case None ⇒ pjp.proceed() } } +} +object ClientRequestInstrumentation { + val SprayTime = "SprayTime" + val UserTime = "UserTime" } |