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 | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/SpanContext.scala b/kamon-core/src/main/scala/kamon/trace/SpanContext.scala new file mode 100644 index 00000000..7f5962e0 --- /dev/null +++ b/kamon-core/src/main/scala/kamon/trace/SpanContext.scala @@ -0,0 +1,21 @@ +package kamon.trace +import java.lang +import java.util.Map +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 = { + baggage = baggage + (key -> value) + } + + private[kamon] def getBaggage(key: String): String = + 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]] = + baggage.asJava.entrySet() +} |