aboutsummaryrefslogtreecommitdiff
path: root/kamon-play
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2014-11-03 23:28:45 +0100
committerIvan Topolnjak <ivantopo@gmail.com>2014-11-03 23:29:34 +0100
commit5042eebf9f52bfd59fb623a1d6ea6451dd524cf7 (patch)
treeee650afffbb8afda2850867adec0f2ca299228fb /kamon-play
parent59faf588080b137817444a6877170e2bd687427f (diff)
downloadKamon-5042eebf9f52bfd59fb623a1d6ea6451dd524cf7.tar.gz
Kamon-5042eebf9f52bfd59fb623a1d6ea6451dd524cf7.tar.bz2
Kamon-5042eebf9f52bfd59fb623a1d6ea6451dd524cf7.zip
Include missing files after the merge
Diffstat (limited to 'kamon-play')
-rw-r--r--kamon-play/src/main/scala/kamon/play/Play.scala2
-rw-r--r--kamon-play/src/main/scala/kamon/play/instrumentation/RequestInstrumentation.scala22
2 files changed, 10 insertions, 14 deletions
diff --git a/kamon-play/src/main/scala/kamon/play/Play.scala b/kamon-play/src/main/scala/kamon/play/Play.scala
index 6e2de3c1..0f23baf5 100644
--- a/kamon-play/src/main/scala/kamon/play/Play.scala
+++ b/kamon-play/src/main/scala/kamon/play/Play.scala
@@ -21,7 +21,7 @@ import akka.event.Logging
import kamon.Kamon
import kamon.http.HttpServerMetrics
import kamon.metric.Metrics
-import play.api.libs.ws.WSRequest
+import play.api.libs.ws.WS.WSRequest
import play.api.mvc.RequestHeader
object Play extends ExtensionId[PlayExtension] with ExtensionIdProvider {
diff --git a/kamon-play/src/main/scala/kamon/play/instrumentation/RequestInstrumentation.scala b/kamon-play/src/main/scala/kamon/play/instrumentation/RequestInstrumentation.scala
index 1ba871a7..ea188dbf 100644
--- a/kamon-play/src/main/scala/kamon/play/instrumentation/RequestInstrumentation.scala
+++ b/kamon-play/src/main/scala/kamon/play/instrumentation/RequestInstrumentation.scala
@@ -21,10 +21,12 @@ import kamon.trace.{ TraceContextAware, TraceRecorder }
import org.aspectj.lang.ProceedingJoinPoint
import org.aspectj.lang.annotation._
import play.api.mvc._
+import play.api.Routes
import play.libs.Akka
@Aspect
class RequestInstrumentation {
+ import RequestInstrumentation.normaliseTraceName
@DeclareMixin("play.api.mvc.RequestHeader+")
def mixinContextAwareNewRequest: TraceContextAware = TraceContextAware.default
@@ -53,7 +55,7 @@ class RequestInstrumentation {
// TODO: Move to a Kamon-specific dispatcher.
val executor = Kamon(Play)(Akka.system()).defaultDispatcher
- def onResult(result: Result): Result = {
+ def onResult(result: SimpleResult): Result = {
TraceRecorder.withTraceContextAndSystem { (ctx, system) ⇒
ctx.finish()
@@ -75,20 +77,14 @@ class RequestInstrumentation {
// Invoke the action
next(requestHeader).map(onResult)(executor)
}
- pjp.proceed(Array(EssentialAction(essentialAction)))
- }
- private def recordHttpServerMetrics(result: Result, traceName: String, playExtension: PlayExtension): Unit =
- playExtension.httpServerMetrics.recordResponse(traceName, result.header.status.toString, 1L)
+ pjp.proceed(Array(essentialAction))
+ }
- @Around("execution(* play.api.GlobalSettings+.onError(..)) && args(request, ex)")
- def aroundOnError(pjp: ProceedingJoinPoint, request: TraceContextAware, ex: Throwable): Any = request.traceContext match {
- case None ⇒ pjp.proceed()
- case Some(ctx) ⇒ {
- val actorSystem = ctx.system
- Kamon(Play)(actorSystem).publishErrorMessage(actorSystem, ex.getMessage, ex)
- pjp.proceed()
- }
+ @Before("execution(* play.api.GlobalSettings+.onError(..)) && args(request, ex)")
+ def beforeOnError(request: TraceContextAware, ex: Throwable): Unit = TraceRecorder.withTraceContextAndSystem { (ctx, system) ⇒
+ val playExtension = Kamon(Play)(system)
+ playExtension.httpServerMetrics.recordResponse(ctx.name, "505")
}
private def recordHttpServerMetrics(header: ResponseHeader, traceName: String, playExtension: PlayExtension): Unit =