diff options
5 files changed, 37 insertions, 51 deletions
diff --git a/kamon-core-tests/src/test/scala/kamon/trace/LocalSpanSpec.scala b/kamon-core-tests/src/test/scala/kamon/trace/LocalSpanSpec.scala index f6bd3517..966fdbad 100644 --- a/kamon-core-tests/src/test/scala/kamon/trace/LocalSpanSpec.scala +++ b/kamon-core-tests/src/test/scala/kamon/trace/LocalSpanSpec.scala @@ -30,7 +30,7 @@ class LocalSpanSpec extends WordSpec with Matchers with BeforeAndAfterAll with E "sampled and finished" should { "be sent to the Span reporters" in { Kamon.buildSpan("test-span") - .withSpanTag("test", "value") + .withTag("test", "value") .withStartTimestamp(100) .start() .finish(200) @@ -46,16 +46,16 @@ class LocalSpanSpec extends WordSpec with Matchers with BeforeAndAfterAll with E "pass all the tags, annotations and baggage to the FinishedSpan instance when started and finished" in { Kamon.buildSpan("full-span") - .withSpanTag("builder-string-tag", "value") - .withSpanTag("builder-boolean-tag-true", true) - .withSpanTag("builder-boolean-tag-false", false) - .withSpanTag("builder-number-tag", 42) + .withTag("builder-string-tag", "value") + .withTag("builder-boolean-tag-true", true) + .withTag("builder-boolean-tag-false", false) + .withTag("builder-number-tag", 42) .withStartTimestamp(100) .start() - .addSpanTag("span-string-tag", "value") - .addSpanTag("span-boolean-tag-true", true) - .addSpanTag("span-boolean-tag-false", false) - .addSpanTag("span-number-tag", 42) + .addTag("span-string-tag", "value") + .addTag("span-boolean-tag-true", true) + .addTag("span-boolean-tag-false", false) + .addTag("span-number-tag", 42) .setOperationName("fully-populated-span") .finish(200) diff --git a/kamon-core-tests/src/test/scala/kamon/trace/SpanMetrics.scala b/kamon-core-tests/src/test/scala/kamon/trace/SpanMetrics.scala index dd777490..40813a25 100644 --- a/kamon-core-tests/src/test/scala/kamon/trace/SpanMetrics.scala +++ b/kamon-core-tests/src/test/scala/kamon/trace/SpanMetrics.scala @@ -46,7 +46,7 @@ class SpanMetrics extends WordSpecLike with Matchers with MetricInspection with buildSpan(operation) .start() - .addSpanTag("error", true) + .addTag("error", true) .finish() val histogram = Span.Metrics.ProcessingTime.refine(Map(operationTag, noErrorTag)) @@ -66,13 +66,13 @@ class SpanMetrics extends WordSpecLike with Matchers with MetricInspection with buildSpan(operation) .asChildOf(parent) .start() - .addSpanTag("error", false) + .addTag("error", false) .finish() buildSpan(operation) .asChildOf(parent) .start() - .addSpanTag("error", true) + .addTag("error", true) .finish() val histogram = Span.Metrics.ProcessingTime.refine(Map(operationTag, noErrorTag, parentOperationTag)) @@ -92,13 +92,13 @@ class SpanMetrics extends WordSpecLike with Matchers with MetricInspection with buildSpan(operation) .asChildOf(parent) .start() - .addSpanTag("error", false) + .addTag("error", false) .finish() buildSpan(operation) .asChildOf(parent) .start() - .addSpanTag("error", true) + .addTag("error", true) .finish() val histogram = Span.Metrics.ProcessingTime.refine(Map(operationTag, noErrorTag, parentOperationTag)) diff --git a/kamon-core-tests/src/test/scala/kamon/trace/TracerSpec.scala b/kamon-core-tests/src/test/scala/kamon/trace/TracerSpec.scala index a08277ea..92431470 100644 --- a/kamon-core-tests/src/test/scala/kamon/trace/TracerSpec.scala +++ b/kamon-core-tests/src/test/scala/kamon/trace/TracerSpec.scala @@ -36,23 +36,20 @@ class TracerSpec extends WordSpec with Matchers with SpanBuilding with SpanInspe "pass the operation name and tags to started Span" in { val span = tracer.buildSpan("myOperation") - .withTag("both", "both") .withMetricTag("metric-tag", "value") .withMetricTag("metric-tag", "value") - .withSpanTag("hello", "world") - .withSpanTag("kamon", "rulez") - .withSpanTag("number", 123) - .withSpanTag("boolean", true) + .withTag("hello", "world") + .withTag("kamon", "rulez") + .withTag("number", 123) + .withTag("boolean", true) .start() val spanData = inspect(span) spanData.operationName() shouldBe "myOperation" spanData.metricTags() should contain only ( - ("metric-tag" -> "value"), - ("both" -> "both")) + ("metric-tag" -> "value")) spanData.spanTags() should contain allOf( - ("both" -> TagValue.String("both")), ("hello" -> TagValue.String("world")), ("kamon" -> TagValue.String("rulez")), ("number" -> TagValue.Number(123)), 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 |