aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/trace/SpanContext.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/trace/SpanContext.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/trace/SpanContext.scala21
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()
+}