diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2014-11-03 23:28:45 +0100 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2014-11-03 23:29:34 +0100 |
commit | 5042eebf9f52bfd59fb623a1d6ea6451dd524cf7 (patch) | |
tree | ee650afffbb8afda2850867adec0f2ca299228fb | |
parent | 59faf588080b137817444a6877170e2bd687427f (diff) | |
download | Kamon-5042eebf9f52bfd59fb623a1d6ea6451dd524cf7.tar.gz Kamon-5042eebf9f52bfd59fb623a1d6ea6451dd524cf7.tar.bz2 Kamon-5042eebf9f52bfd59fb623a1d6ea6451dd524cf7.zip |
Include missing files after the merge
6 files changed, 18 insertions, 19 deletions
diff --git a/kamon-core/src/main/scala/kamon/instrumentation/akka/ActorCellInstrumentation.scala b/kamon-core/src/main/scala/kamon/instrumentation/akka/ActorCellInstrumentation.scala index 90928ba0..366f446d 100644 --- a/kamon-core/src/main/scala/kamon/instrumentation/akka/ActorCellInstrumentation.scala +++ b/kamon-core/src/main/scala/kamon/instrumentation/akka/ActorCellInstrumentation.scala @@ -168,9 +168,9 @@ class TraceContextIntoEnvelopeMixin { object ActorCellInstrumentation { implicit class PimpedActorCellMetrics(cell: ActorCellMetrics) { - def onRoutedActorCell(block: ActorCellMetrics ⇒ Unit) = cell match { - case routedActorCell: RoutedActorCell ⇒ block(cell) - case everythingElse ⇒ + def onRoutedActorCell(block: ActorCellMetrics ⇒ Unit): Unit = { + if (cell.isInstanceOf[RoutedActorCell]) + block(cell) } } }
\ No newline at end of file diff --git a/kamon-core/src/test/scala/kamon/metric/RouterMetricsSpec.scala b/kamon-core/src/test/scala/kamon/metric/RouterMetricsSpec.scala index 6585a618..2d56f1bb 100644 --- a/kamon-core/src/test/scala/kamon/metric/RouterMetricsSpec.scala +++ b/kamon-core/src/test/scala/kamon/metric/RouterMetricsSpec.scala @@ -30,7 +30,9 @@ import org.scalatest.{ Matchers, WordSpecLike } import scala.concurrent.duration._ -class RouterMetricsSpec extends TestKitBase with WordSpecLike with Matchers with ImplicitSender { +class RouterMetricsSpec extends TestKitBase with WordSpecLike with Matchers { + implicit def self = testActor + implicit lazy val system: ActorSystem = ActorSystem("router-metrics-spec", ConfigFactory.parseString( """ |kamon.metrics { diff --git a/kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala b/kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala index bca02582..834a10ad 100644 --- a/kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala +++ b/kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala @@ -49,7 +49,7 @@ class Agent extends Actor with RequestBuilding with ResponseTransformation with // Name has the format of pid@host val runtimeName = ManagementFactory.getRuntimeMXBean.getName.split('@') - val retryDelay = FiniteDuration(config.getDuration("retry-delay", milliseconds), milliseconds) + val retryDelay = FiniteDuration(config.getMilliseconds("retry-delay"), milliseconds) val maxRetry = config.getInt("max-retry") AgentInfo(licenseKey, appName, runtimeName(1), runtimeName(0).toInt, maxRetry, retryDelay) diff --git a/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala b/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala index 92e673ee..bc73e475 100644 --- a/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala +++ b/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala @@ -16,6 +16,7 @@ package kamon.newrelic +import akka.actor import akka.actor._ import kamon.Kamon import kamon.metric.Subscriptions.TickMetricSnapshot 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 = |