From ef21f8d0ade1015f71f1d289c8d041e2b525d824 Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Sun, 9 Nov 2014 17:14:37 +0100 Subject: ! spray: correcly provide http-client segment names based on the request host. --- kamon-spray/src/main/scala/kamon/spray/Spray.scala | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'kamon-spray/src') diff --git a/kamon-spray/src/main/scala/kamon/spray/Spray.scala b/kamon-spray/src/main/scala/kamon/spray/Spray.scala index c1c81116..72b997d7 100644 --- a/kamon-spray/src/main/scala/kamon/spray/Spray.scala +++ b/kamon-spray/src/main/scala/kamon/spray/Spray.scala @@ -21,6 +21,7 @@ import akka.actor import kamon.Kamon import kamon.http.HttpServerMetrics import kamon.metric.Metrics +import spray.http.HttpHeaders.Host import spray.http.HttpRequest object Spray extends ExtensionId[SprayExtension] with ExtensionIdProvider { @@ -66,7 +67,14 @@ trait SprayNameGenerator { } class DefaultSprayNameGenerator extends SprayNameGenerator { - def generateRequestLevelApiSegmentName(request: HttpRequest): String = request.method.value + ": " + request.uri.path + def hostFromHeaders(request: HttpRequest): Option[String] = request.header[Host].map(_.host) + + def generateRequestLevelApiSegmentName(request: HttpRequest): String = { + val uriAddress = request.uri.authority.host.address + if (uriAddress.equals("")) hostFromHeaders(request).getOrElse("unknown-host") else uriAddress + } + + def generateHostLevelApiSegmentName(request: HttpRequest): String = hostFromHeaders(request).getOrElse("unknown-host") + def generateTraceName(request: HttpRequest): String = request.method.value + ": " + request.uri.path - def generateHostLevelApiSegmentName(request: HttpRequest): String = request.uri.authority.host.address } -- cgit v1.2.3