aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-08-26 22:04:34 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-08-26 22:04:34 +0200
commit80d3d7706e5f4cbbfe2164d1b17b2649782e0e0e (patch)
tree5d6593b930390b42360d410a4899fff398bb8ab1
parent194bc4fc90c53199eae6b6ca05964f7aa03bbdb3 (diff)
downloadKamon-80d3d7706e5f4cbbfe2164d1b17b2649782e0e0e.tar.gz
Kamon-80d3d7706e5f4cbbfe2164d1b17b2649782e0e0e.tar.bz2
Kamon-80d3d7706e5f4cbbfe2164d1b17b2649782e0e0e.zip
make Span.addTag work only on Span tags
-rw-r--r--kamon-core-tests/src/test/scala/kamon/trace/LocalSpanSpec.scala18
-rw-r--r--kamon-core-tests/src/test/scala/kamon/trace/SpanMetrics.scala10
-rw-r--r--kamon-core-tests/src/test/scala/kamon/trace/TracerSpec.scala13
-rw-r--r--kamon-core/src/main/scala/kamon/trace/Span.scala34
-rw-r--r--kamon-core/src/main/scala/kamon/trace/Tracer.scala13
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