aboutsummaryrefslogtreecommitdiff
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
parent59faf588080b137817444a6877170e2bd687427f (diff)
downloadKamon-5042eebf9f52bfd59fb623a1d6ea6451dd524cf7.tar.gz
Kamon-5042eebf9f52bfd59fb623a1d6ea6451dd524cf7.tar.bz2
Kamon-5042eebf9f52bfd59fb623a1d6ea6451dd524cf7.zip
Include missing files after the merge
-rw-r--r--kamon-core/src/main/scala/kamon/instrumentation/akka/ActorCellInstrumentation.scala6
-rw-r--r--kamon-core/src/test/scala/kamon/metric/RouterMetricsSpec.scala4
-rw-r--r--kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala2
-rw-r--r--kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala1
-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
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 =