diff options
author | Diego <diegolparra@gmail.com> | 2016-04-22 01:13:34 -0300 |
---|---|---|
committer | Diego <diegolparra@gmail.com> | 2016-04-22 01:13:34 -0300 |
commit | 66c4516fbba090733cce87ad80d327956f794fa4 (patch) | |
tree | 7a5f3452dfe71c6ae82fcf0fcfdecb9a706e42c3 | |
parent | 051a97855e38a6bcff22c21c6c2f3f6add6a9ae4 (diff) | |
download | Kamon-66c4516fbba090733cce87ad80d327956f794fa4.tar.gz Kamon-66c4516fbba090733cce87ad80d327956f794fa4.tar.bz2 Kamon-66c4516fbba090733cce87ad80d327956f794fa4.zip |
+ kamon-spray: Add tags in spray spray directives for tracing and closes #345
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 } |