aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Topolnak <itopolnak@despegar.com>2013-12-20 18:18:01 -0300
committerIvan Topolnak <itopolnak@despegar.com>2013-12-20 18:18:01 -0300
commit441705bc54364a4cb8524a9739ebb709ef42397f (patch)
tree24161db953abc2b606e5f0d0e16047e8cecb7ba0
parent705f76aa41ebdf9384530e2e0d850a0ef703a5e6 (diff)
downloadKamon-441705bc54364a4cb8524a9739ebb709ef42397f.tar.gz
Kamon-441705bc54364a4cb8524a9739ebb709ef42397f.tar.bz2
Kamon-441705bc54364a4cb8524a9739ebb709ef42397f.zip
ensure spray server instrumentation cleans the thread after initiating the trace
-rw-r--r--kamon-playground/src/main/resources/application.conf4
-rw-r--r--kamon-spray/src/main/scala/spray/can/server/ServerRequestTracing.scala14
-rw-r--r--project/Dependencies.scala2
3 files changed, 16 insertions, 4 deletions
diff --git a/kamon-playground/src/main/resources/application.conf b/kamon-playground/src/main/resources/application.conf
index 1036f393..88fe8e8d 100644
--- a/kamon-playground/src/main/resources/application.conf
+++ b/kamon-playground/src/main/resources/application.conf
@@ -1,9 +1,9 @@
akka {
+ loggers = [ "akka.event.slf4j.Slf4jLogger" ]
+ loglevel = DEBUG
actor {
debug {
unhandled = on
}
}
-
- extensions = ["kamon.newrelic.NewRelic"]
} \ No newline at end of file
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 = {}
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index f3d10e3a..067d0806 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -7,7 +7,7 @@ object Dependencies {
"spray nightlies repo" at "http://nightlies.spray.io"
)
- val sprayVersion = "1.2-RC4"
+ val sprayVersion = "1.2.0"
val akkaVersion = "2.2.3"
val sprayJson = "io.spray" %% "spray-json" % "1.2.5"