From 5e0b768f139fc2c5e75d6b5060bd4d0aa48092b0 Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Wed, 16 Aug 2017 20:10:50 +0200 Subject: add utility function for including metric and trace tags simultaneously --- kamon-core/src/main/scala/kamon/trace/Span.scala | 10 ++++++++++ kamon-core/src/main/scala/kamon/trace/Tracer.scala | 6 ++++++ 2 files changed, 16 insertions(+) (limited to 'kamon-core/src/main/scala/kamon/trace') diff --git a/kamon-core/src/main/scala/kamon/trace/Span.scala b/kamon-core/src/main/scala/kamon/trace/Span.scala index ae67f7f6..ea28142e 100644 --- a/kamon-core/src/main/scala/kamon/trace/Span.scala +++ b/kamon-core/src/main/scala/kamon/trace/Span.scala @@ -35,6 +35,8 @@ trait Span { def annotate(annotation: Span.Annotation): Span + def addTag(key: String, value: String): Span + def addSpanTag(key: String, value: String): Span def addSpanTag(key: String, value: Long): Span @@ -72,6 +74,7 @@ object Span { override def isEmpty(): Boolean = true override def isLocal(): Boolean = true override def annotate(annotation: Annotation): Span = this + override def addTag(key: String, value: String): Span = this override def addSpanTag(key: String, value: String): Span = this override def addSpanTag(key: String, value: Long): Span = this override def addSpanTag(key: String, value: Boolean): Span = this @@ -110,6 +113,12 @@ object Span { this } + override def addTag(key: String, value: String): Span = synchronized { + addSpanTag(key, value) + addMetricTag(key, value) + this + } + override def addSpanTag(key: String, value: String): Span = synchronized { if(sampled && open) spanTags = spanTags + (key -> TagValue.String(value)) @@ -196,6 +205,7 @@ object Span { override def isEmpty(): Boolean = false override def isLocal(): Boolean = false override def annotate(annotation: Annotation): Span = this + override def addTag(key: String, value: String): Span = this override def addSpanTag(key: String, value: String): Span = this override def addSpanTag(key: String, value: Long): Span = this override def addSpanTag(key: String, value: Boolean): Span = this diff --git a/kamon-core/src/main/scala/kamon/trace/Tracer.scala b/kamon-core/src/main/scala/kamon/trace/Tracer.scala index 37706926..84cb1899 100644 --- a/kamon-core/src/main/scala/kamon/trace/Tracer.scala +++ b/kamon-core/src/main/scala/kamon/trace/Tracer.scala @@ -100,6 +100,12 @@ object Tracer { this } + def withTag(key: String, value: String): SpanBuilder = { + this.initialMetricTags = this.initialMetricTags + (key -> value) + this.initialSpanTags = this.initialSpanTags + (key -> TagValue.String(value)) + this + } + def withMetricTag(key: String, value: String): SpanBuilder = { this.initialMetricTags = this.initialMetricTags + (key -> value) this -- cgit v1.2.3