aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/TraceContextSwap.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/TraceContextSwap.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/TraceContextSwap.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/TraceContextSwap.scala b/kamon-core/src/main/scala/kamon/TraceContextSwap.scala
index 24661445..4b5b66a9 100644
--- a/kamon-core/src/main/scala/kamon/TraceContextSwap.scala
+++ b/kamon-core/src/main/scala/kamon/TraceContextSwap.scala
@@ -1,5 +1,7 @@
package kamon
+import org.slf4j.MDC
+
/**
* Provides support for making a TraceContext available as ThreadLocal and cleanning up afterwards.
*/
@@ -10,9 +12,11 @@ trait TraceContextSwap {
def withContext[A](ctx: Option[TraceContext], primary: => A, fallback: => A): A = {
ctx match {
case Some(context) => {
+ MDC.put("uow", context.userContext.get.asInstanceOf[String])
Tracer.set(context)
val bodyResult = primary
Tracer.clear
+ MDC.remove("uow")
bodyResult
}