From 5f748c1c74bb71ba4125644b2afec7d4e58bcb9f Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Sat, 10 Feb 2018 01:32:53 +0100 Subject: apply metric tags on spans, even if the span is not sampled, fixes #513 --- kamon-core/src/main/scala/kamon/trace/Span.scala | 33 ++++++++++++++---------- 1 file changed, 20 insertions(+), 13 deletions(-) (limited to 'kamon-core/src/main/scala') diff --git a/kamon-core/src/main/scala/kamon/trace/Span.scala b/kamon-core/src/main/scala/kamon/trace/Span.scala index 690efeb4..9778373a 100644 --- a/kamon-core/src/main/scala/kamon/trace/Span.scala +++ b/kamon-core/src/main/scala/kamon/trace/Span.scala @@ -123,11 +123,12 @@ object Span { } override def tagMetric(key: String, value: String): Span = synchronized { - if(sampled && open) { - spanTags = spanTags + (key -> TagValue.String(value)) - + if(open) { if(collectMetrics) customMetricTags = customMetricTags + (key -> value) + + if(sampled) + spanTags = spanTags + (key -> TagValue.String(value)) } this } @@ -142,23 +143,29 @@ object Span { } override def addError(error: String): Span = synchronized { - if(sampled && open) { + if(open) { hasError = true - spanTags = spanTags ++ Map( - "error" -> TagValue.True, - "error.object" -> TagValue.String(error) - ) + + if(sampled) { + spanTags = spanTags ++ Map( + "error" -> TagValue.True, + "error.object" -> TagValue.String(error) + ) + } } this } override def addError(error: String, throwable: Throwable): Span = synchronized { - if(sampled && open) { + if(open) { hasError = true - spanTags = spanTags ++ Map( - "error" -> TagValue.True, - "error.object" -> TagValue.String(throwable.getMessage()) - ) + + if(sampled) { + spanTags = spanTags ++ Map( + "error" -> TagValue.True, + "error.object" -> TagValue.String(throwable.getMessage()) + ) + } } this } -- cgit v1.2.3