diff options
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace')
-rw-r--r-- | kamon-core/src/main/scala/kamon/trace/SpanContextCodec.scala | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/SpanContextCodec.scala b/kamon-core/src/main/scala/kamon/trace/SpanContextCodec.scala index 6e687d66..1c3a1205 100644 --- a/kamon-core/src/main/scala/kamon/trace/SpanContextCodec.scala +++ b/kamon-core/src/main/scala/kamon/trace/SpanContextCodec.scala @@ -1,11 +1,13 @@ package kamon.trace import java.net.{URLDecoder, URLEncoder} -import java.util.concurrent.ThreadLocalRandom +import scala.collection.JavaConverters._ import io.opentracing.propagation.TextMap import kamon.util.HexCodec +import scala.concurrent.forkjoin.ThreadLocalRandom + trait SpanContextCodec[T] { def inject(spanContext: SpanContext, carrier: T): Unit def extract(carrier: T, sampler: Sampler): SpanContext @@ -44,7 +46,7 @@ object SpanContextCodec { carrier.put(parentIDKey, encodeLong(spanContext.parentID)) carrier.put(spanIDKey, encodeLong(spanContext.spanID)) - spanContext.baggageItems().forEach { entry => + spanContext.baggageItems().iterator().asScala.foreach { entry => carrier.put(baggagePrefix + entry.getKey, baggageValueEncoder(entry.getValue)) } } @@ -56,7 +58,7 @@ object SpanContextCodec { var sampled: String = null var baggage: Map[String, String] = Map.empty - carrier.forEach { entry => + carrier.iterator().asScala.foreach { entry => if(entry.getKey.equals(traceIDKey)) traceID = baggageValueDecoder(entry.getValue) else if(entry.getKey.equals(parentIDKey)) |