From 441705bc54364a4cb8524a9739ebb709ef42397f Mon Sep 17 00:00:00 2001 From: Ivan Topolnak Date: Fri, 20 Dec 2013 18:18:01 -0300 Subject: ensure spray server instrumentation cleans the thread after initiating the trace --- .../main/scala/spray/can/server/ServerRequestTracing.scala | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'kamon-spray/src') diff --git a/kamon-spray/src/main/scala/spray/can/server/ServerRequestTracing.scala b/kamon-spray/src/main/scala/spray/can/server/ServerRequestTracing.scala index c43022d9..91dba87b 100644 --- a/kamon-spray/src/main/scala/spray/can/server/ServerRequestTracing.scala +++ b/kamon-spray/src/main/scala/spray/can/server/ServerRequestTracing.scala @@ -15,11 +15,15 @@ * ========================================================== */ package spray.can.server -import org.aspectj.lang.annotation.{ After, Pointcut, DeclareMixin, Aspect } +import org.aspectj.lang.annotation._ import kamon.trace.{ Trace, ContextAware } import spray.http.HttpRequest import akka.actor.ActorSystem import akka.event.Logging.Warning +import org.aspectj.lang.ProceedingJoinPoint +import spray.http.HttpRequest +import akka.event.Logging.Warning +import scala.Some @Aspect class ServerRequestTracing { @@ -41,6 +45,14 @@ class ServerRequestTracing { openRequest.traceContext } + @Pointcut("execution(* spray.can.server.ServerFrontend$$anon$2$$anon$1.spray$can$server$ServerFrontend$$anon$$anon$$openNewRequest(..))") + def openNewRequest(): Unit = {} + + @After("openNewRequest()") + def afterOpenNewRequest(): Unit = { + Trace.clear + } + @Pointcut("execution(* spray.can.server.OpenRequestComponent$DefaultOpenRequest.handleResponseEndAndReturnNextOpenRequest(..)) && target(openRequest)") def openRequestCreation(openRequest: ContextAware): Unit = {} -- cgit v1.2.3