aboutsummaryrefslogtreecommitdiff
path: root/kamon-spray/src/main/scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-spray/src/main/scala')
-rw-r--r--kamon-spray/src/main/scala/kamon/spray/UowDirectives.scala4
-rw-r--r--kamon-spray/src/main/scala/spray/can/server/ServerRequestTracing.scala9
2 files changed, 10 insertions, 3 deletions
diff --git a/kamon-spray/src/main/scala/kamon/spray/UowDirectives.scala b/kamon-spray/src/main/scala/kamon/spray/UowDirectives.scala
index 44db55e7..78a5b336 100644
--- a/kamon-spray/src/main/scala/kamon/spray/UowDirectives.scala
+++ b/kamon-spray/src/main/scala/kamon/spray/UowDirectives.scala
@@ -28,10 +28,10 @@ trait UowDirectives extends BasicDirectives {
val uowHeader = request.headers.find(_.name == "X-UOW")
val generatedUow = uowHeader.map(_.value).getOrElse(UowDirectives.newUow)
- Trace.transformContext(_.copy(uow = generatedUow))
+ Trace.transformContext(_.copy(token = generatedUow))
request
}
- def respondWithUow = mapHttpResponseHeaders(headers ⇒ Trace.context().map(ctx ⇒ RawHeader("X-UOW", ctx.uow) :: headers).getOrElse(headers))
+ def respondWithUow = mapHttpResponseHeaders(headers ⇒ Trace.context().map(ctx ⇒ RawHeader("X-UOW", ctx.token) :: headers).getOrElse(headers))
}
object UowDirectives {
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 91dba87b..a7d48ac8 100644
--- a/kamon-spray/src/main/scala/spray/can/server/ServerRequestTracing.scala
+++ b/kamon-spray/src/main/scala/spray/can/server/ServerRequestTracing.scala
@@ -37,9 +37,16 @@ class ServerRequestTracing {
@After("openRequestInit(openRequest, request)")
def afterInit(openRequest: ContextAware, request: HttpRequest): Unit = {
val system: ActorSystem = openRequest.asInstanceOf[OpenRequest].context.actorContext.system
+ val config = system.settings.config.getConfig("kamon.spray")
+
+ val token = if(config.getBoolean("include-trace-token-header")) {
+ val traceTokenHeader = config.getString("trace-token-header-name")
+ request.headers.find(_.name == traceTokenHeader).map(_.value)
+ } else None
+
val defaultTraceName: String = request.method.value + ": " + request.uri.path
- Trace.start(defaultTraceName)(system)
+ Trace.start(defaultTraceName, token)(system)
// Necessary to force initialization of traceContext when initiating the request.
openRequest.traceContext