From 80d3d7706e5f4cbbfe2164d1b17b2649782e0e0e Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Sat, 26 Aug 2017 22:04:34 +0200 Subject: make Span.addTag work only on Span tags --- kamon-core/src/main/scala/kamon/trace/Span.scala | 34 +++++++++------------- kamon-core/src/main/scala/kamon/trace/Tracer.scala | 13 +++------ 2 files changed, 18 insertions(+), 29 deletions(-) (limited to 'kamon-core') diff --git a/kamon-core/src/main/scala/kamon/trace/Span.scala b/kamon-core/src/main/scala/kamon/trace/Span.scala index c359f8e0..cb1be8dc 100644 --- a/kamon-core/src/main/scala/kamon/trace/Span.scala +++ b/kamon-core/src/main/scala/kamon/trace/Span.scala @@ -35,11 +35,9 @@ trait Span { def addTag(key: String, value: String): Span - def addSpanTag(key: String, value: String): Span + def addTag(key: String, value: Long): Span - def addSpanTag(key: String, value: Long): Span - - def addSpanTag(key: String, value: Boolean): Span + def addTag(key: String, value: Boolean): Span def addMetricTag(key: String, value: String): Span @@ -63,9 +61,8 @@ object Span { override def isEmpty(): Boolean = true override def isLocal(): Boolean = true 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 + override def addTag(key: String, value: Long): Span = this + override def addTag(key: String, value: Boolean): Span = this override def addMetricTag(key: String, value: String): Span = this override def setOperationName(name: String): Span = this override def disableMetricsCollection(): Span = this @@ -95,24 +92,18 @@ object Span { override def isLocal(): Boolean = true 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)) this } - override def addSpanTag(key: String, value: Long): Span = synchronized { + override def addTag(key: String, value: Long): Span = synchronized { if(sampled && open) spanTags = spanTags + (key -> TagValue.Number(value)) this } - override def addSpanTag(key: String, value: Boolean): Span = synchronized { + override def addTag(key: String, value: Boolean): Span = synchronized { if(sampled && open) { val tagValue = if (value) TagValue.True else TagValue.False spanTags = spanTags + (key -> tagValue) @@ -121,8 +112,12 @@ object Span { } override def addMetricTag(key: String, value: String): Span = synchronized { - if(sampled && open && collectMetrics) - customMetricTags = customMetricTags + (key -> value) + if(sampled && open) { + spanTags = spanTags + (key -> TagValue.String(value)) + + if(collectMetrics) + customMetricTags = customMetricTags + (key -> value) + } this } @@ -186,9 +181,8 @@ object Span { override def isEmpty(): Boolean = false override def isLocal(): Boolean = false 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 + override def addTag(key: String, value: Long): Span = this + override def addTag(key: String, value: Boolean): Span = this override def addMetricTag(key: String, value: String): Span = this override def setOperationName(name: String): Span = this override def disableMetricsCollection(): 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 8fa5df5d..03c44a2c 100644 --- a/kamon-core/src/main/scala/kamon/trace/Tracer.scala +++ b/kamon-core/src/main/scala/kamon/trace/Tracer.scala @@ -102,28 +102,23 @@ 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.initialSpanTags = this.initialSpanTags + (key -> TagValue.String(value)) this } - def withSpanTag(key: String, value: String): SpanBuilder = { + def withTag(key: String, value: String): SpanBuilder = { this.initialSpanTags = this.initialSpanTags + (key -> TagValue.String(value)) this } - def withSpanTag(key: String, value: Long): SpanBuilder = { + def withTag(key: String, value: Long): SpanBuilder = { this.initialSpanTags = this.initialSpanTags + (key -> TagValue.Number(value)) this } - def withSpanTag(key: String, value: Boolean): SpanBuilder = { + def withTag(key: String, value: Boolean): SpanBuilder = { val tagValue = if (value) TagValue.True else TagValue.False this.initialSpanTags = this.initialSpanTags + (key -> tagValue) this -- cgit v1.2.3