aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2014-02-02 23:18:54 -0300
committerIvan Topolnjak <ivantopo@gmail.com>2014-02-02 23:18:54 -0300
commit6f036514edb6dd406803acdffcff437dd92efe9b (patch)
tree62d252789619586205a0b5323a4140b3dab98472
parentf293332a6123b1ab24f83edb5ff56bd0335c20ad (diff)
downloadKamon-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.scala6
-rw-r--r--kamon-core/src/main/scala/kamon/metrics/Metrics.scala1
-rw-r--r--kamon-core/src/main/scala/kamon/metrics/TraceMetrics.scala6
-rw-r--r--kamon-spray/src/main/resources/META-INF/aop.xml2
-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"
}