diff options
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/SpanContext.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/trace/SpanContext.scala | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/SpanContext.scala b/kamon-core/src/main/scala/kamon/trace/SpanContext.scala index 7f5962e0..a3afb36d 100644 --- a/kamon-core/src/main/scala/kamon/trace/SpanContext.scala +++ b/kamon-core/src/main/scala/kamon/trace/SpanContext.scala @@ -1,4 +1,5 @@ package kamon.trace + import java.lang import java.util.Map import scala.collection.JavaConverters._ @@ -6,16 +7,18 @@ import scala.collection.JavaConverters._ class SpanContext(val traceID: Long, val spanID: Long, val parentID: Long) extends io.opentracing.SpanContext { private var baggage = scala.collection.immutable.Map.empty[String, String] - private[kamon] def addBaggageItem(key: String, value: String): Unit = { + private[kamon] def addBaggageItem(key: String, value: String): Unit = synchronized { baggage = baggage + (key -> value) } - private[kamon] def getBaggage(key: String): String = + private[kamon] def getBaggage(key: String): String = synchronized { baggage.get(key).getOrElse(null) + } private[kamon] def baggageMap: scala.collection.immutable.Map[String, String] = baggage - override def baggageItems(): lang.Iterable[Map.Entry[String, String]] = + override def baggageItems(): lang.Iterable[Map.Entry[String, String]] = synchronized { baggage.asJava.entrySet() + } } |