aboutsummaryrefslogtreecommitdiff
path: root/kamon-core
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2018-02-10 01:32:53 +0100
committerIvan Topolnjak <ivantopo@gmail.com>2018-02-10 01:33:19 +0100
commit5f748c1c74bb71ba4125644b2afec7d4e58bcb9f (patch)
tree1d516e55ce35d81762e761f2b7d5e299e64019b2 /kamon-core
parentfa342db5ec6e80227d559ee5ac9d0b11b9f0b453 (diff)
downloadKamon-5f748c1c74bb71ba4125644b2afec7d4e58bcb9f.tar.gz
Kamon-5f748c1c74bb71ba4125644b2afec7d4e58bcb9f.tar.bz2
Kamon-5f748c1c74bb71ba4125644b2afec7d4e58bcb9f.zip
apply metric tags on spans, even if the span is not sampled, fixes #513
Diffstat (limited to 'kamon-core')
-rw-r--r--kamon-core/src/main/scala/kamon/trace/Span.scala33
1 files changed, 20 insertions, 13 deletions
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
}