aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego <diegolparra@gmail.com>2016-04-22 01:13:34 -0300
committerDiego <diegolparra@gmail.com>2016-04-22 01:13:34 -0300
commit66c4516fbba090733cce87ad80d327956f794fa4 (patch)
tree7a5f3452dfe71c6ae82fcf0fcfdecb9a706e42c3
parent051a97855e38a6bcff22c21c6c2f3f6add6a9ae4 (diff)
downloadKamon-66c4516fbba090733cce87ad80d327956f794fa4.tar.gz
Kamon-66c4516fbba090733cce87ad80d327956f794fa4.tar.bz2
Kamon-66c4516fbba090733cce87ad80d327956f794fa4.zip
+ kamon-spray: Add tags in spray spray directives for tracing and closes #345
-rw-r--r--kamon-core/src/main/scala/kamon/Kamon.scala8
-rw-r--r--kamon-core/src/main/scala/kamon/trace/MetricsOnlyContext.scala4
-rw-r--r--kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala3
3 files changed, 7 insertions, 8 deletions
diff --git a/kamon-core/src/main/scala/kamon/Kamon.scala b/kamon-core/src/main/scala/kamon/Kamon.scala
index 9f6e58ee..6ac91356 100644
--- a/kamon-core/src/main/scala/kamon/Kamon.scala
+++ b/kamon-core/src/main/scala/kamon/Kamon.scala
@@ -63,14 +63,12 @@ object Kamon {
private def tryLoadAutoweaveModule(): Unit = {
val color = (msg: String) ⇒ s"""\u001B[32m${msg}\u001B[0m"""
- Try {
+ log.info("Trying to load kamon-autoweave...")
- log.info("Trying to load kamon-autoweave...")
+ Try {
val autoweave = Class.forName("kamon.autoweave.Autoweave")
- val instance = autoweave.newInstance()
-
- autoweave.getDeclaredMethod("attach").invoke(instance)
+ autoweave.getDeclaredMethod("attach").invoke(autoweave.newInstance())
} match {
case Success(_) ⇒
diff --git a/kamon-core/src/main/scala/kamon/trace/MetricsOnlyContext.scala b/kamon-core/src/main/scala/kamon/trace/MetricsOnlyContext.scala
index 7ef3ac14..34b68f38 100644
--- a/kamon-core/src/main/scala/kamon/trace/MetricsOnlyContext.scala
+++ b/kamon-core/src/main/scala/kamon/trace/MetricsOnlyContext.scala
@@ -72,13 +72,13 @@ private[kamon] class MetricsOnlyContext(traceName: String, val token: String, tr
@tailrec private def drainFinishedSegments(): Unit = {
val segment = _finishedSegments.poll()
if (segment != null) {
- val deefaultTags = Map(
+ val defaultTags = Map(
"trace" -> name,
"category" -> segment.category,
"library" -> segment.library)
if (Kamon.metrics.shouldTrack(segment.name, SegmentMetrics.category))
- Kamon.metrics.entity(SegmentMetrics, segment.name, deefaultTags ++ segment.tags).elapsedTime.record(segment.duration.nanos)
+ Kamon.metrics.entity(SegmentMetrics, segment.name, defaultTags ++ segment.tags).elapsedTime.record(segment.duration.nanos)
drainFinishedSegments()
}
}
diff --git a/kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala b/kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala
index 49944bcf..dbea687b 100644
--- a/kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala
+++ b/kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala
@@ -20,7 +20,8 @@ import spray.routing._
import kamon.trace.Tracer
trait KamonTraceDirectives extends BasicDirectives {
- def traceName(name: String): Directive0 = mapRequest { req ⇒
+ def traceName(name: String, tags: Map[String, String] = Map.empty): Directive0 = mapRequest { req ⇒
+ tags.foreach { case (key, value) ⇒ Tracer.currentContext.addTag(key, value) }
Tracer.currentContext.rename(name)
req
}