aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/TraceContextSwap.scala
diff options
context:
space:
mode:
authorIvan Topolnak <ivantopo@gmail.com>2013-10-02 13:49:34 -0300
committerIvan Topolnak <ivantopo@gmail.com>2013-10-02 13:49:34 -0300
commitdf99b59fd05c5f5e6a4b48bb5e3485449a6d6eda (patch)
treea3ee49d1553113447390d043976c9ab31ea9b779 /kamon-core/src/main/scala/kamon/TraceContextSwap.scala
parent03c6a7d81e38dfa856ede9a188467b2c01bfb5f1 (diff)
downloadKamon-df99b59fd05c5f5e6a4b48bb5e3485449a6d6eda.tar.gz
Kamon-df99b59fd05c5f5e6a4b48bb5e3485449a6d6eda.tar.bz2
Kamon-df99b59fd05c5f5e6a4b48bb5e3485449a6d6eda.zip
wip
Diffstat (limited to 'kamon-core/src/main/scala/kamon/TraceContextSwap.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/TraceContextSwap.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/kamon-core/src/main/scala/kamon/TraceContextSwap.scala b/kamon-core/src/main/scala/kamon/TraceContextSwap.scala
index c25e63d1..470b2f34 100644
--- a/kamon-core/src/main/scala/kamon/TraceContextSwap.scala
+++ b/kamon-core/src/main/scala/kamon/TraceContextSwap.scala
@@ -10,19 +10,23 @@ trait TraceContextSwap {
def withContext[A](ctx: Option[TraceContext], body: => A): A = withContext(ctx, body, body)
def withContext[A](ctx: Option[TraceContext], primary: => A, fallback: => A): A = {
- ctx match {
+
+ val previous = Tracer.context()
+ val r = ctx match {
case Some(context) => {
//MDC.put("uow", context.userContext.get.asInstanceOf[String])
Tracer.set(context)
val bodyResult = primary
- Tracer.clear
+ //Tracer.clear
//MDC.remove("uow")
bodyResult
}
case None => fallback
}
+ previous.map(ctx => Tracer.set(ctx))
+ r
}
}