diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2014-11-10 16:35:32 +0100 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2014-11-10 16:35:32 +0100 |
commit | 007157a3ec7e9886a60f57b2eb9fbd8072ce2320 (patch) | |
tree | bcb3a3f2213c102550bdc8d59aca9ba9d6bf774c /kamon-play/src/main/scala/kamon | |
parent | 63b31056da21238188931552102f963982c96543 (diff) | |
parent | 5b9bbb196734c47e67d69d48e378e196b205fd57 (diff) | |
download | Kamon-007157a3ec7e9886a60f57b2eb9fbd8072ce2320.tar.gz Kamon-007157a3ec7e9886a60f57b2eb9fbd8072ce2320.tar.bz2 Kamon-007157a3ec7e9886a60f57b2eb9fbd8072ce2320.zip |
Merge branch 'master' into release-0.2
Conflicts:
kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala
kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala
kamon-play/src/main/scala/kamon/play/instrumentation/WSInstrumentation.scala
project/Dependencies.scala
project/Projects.scala
Diffstat (limited to 'kamon-play/src/main/scala/kamon')
3 files changed, 6 insertions, 4 deletions
diff --git a/kamon-play/src/main/scala/kamon/play/Play.scala b/kamon-play/src/main/scala/kamon/play/Play.scala index 0f23baf5..2184fa84 100644 --- a/kamon-play/src/main/scala/kamon/play/Play.scala +++ b/kamon-play/src/main/scala/kamon/play/Play.scala @@ -27,6 +27,8 @@ import play.api.mvc.RequestHeader object Play extends ExtensionId[PlayExtension] with ExtensionIdProvider { override def lookup(): ExtensionId[_ <: Extension] = Play override def createExtension(system: ExtendedActorSystem): PlayExtension = new PlayExtension(system) + + val SegmentLibraryName = "WS-client" } class PlayExtension(private val system: ExtendedActorSystem) extends Kamon.Extension { 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 897acce6..b44e45a3 100644 --- a/kamon-play/src/main/scala/kamon/play/instrumentation/RequestInstrumentation.scala +++ b/kamon-play/src/main/scala/kamon/play/instrumentation/RequestInstrumentation.scala @@ -86,7 +86,7 @@ class RequestInstrumentation { } object RequestInstrumentation { - + import kamon.metric.Metrics.AtomicGetOrElseUpdateForTriemap import java.util.Locale import scala.collection.concurrent.TrieMap @@ -94,7 +94,7 @@ object RequestInstrumentation { def normaliseTraceName(requestHeader: RequestHeader): Option[String] = requestHeader.tags.get(Routes.ROUTE_VERB).map({ verb ⇒ val path = requestHeader.tags(Routes.ROUTE_PATTERN) - cache.getOrElseUpdate(s"$verb$path", { + cache.atomicGetOrElseUpdate(s"$verb$path", { val traceName = { // Convert paths of form GET /foo/bar/$paramname<regexp>/blah to foo.bar.paramname.blah.get val p = path.replaceAll("""\$([^<]+)<[^>]+>""", "$1").replace('/', '.').dropWhile(_ == '.') diff --git a/kamon-play/src/main/scala/kamon/play/instrumentation/WSInstrumentation.scala b/kamon-play/src/main/scala/kamon/play/instrumentation/WSInstrumentation.scala index c58e9f0c..2791df80 100644 --- a/kamon-play/src/main/scala/kamon/play/instrumentation/WSInstrumentation.scala +++ b/kamon-play/src/main/scala/kamon/play/instrumentation/WSInstrumentation.scala @@ -18,7 +18,7 @@ package kamon.play.instrumentation import kamon.Kamon import kamon.play.Play -import kamon.trace.SegmentMetricIdentityLabel +import kamon.trace.{ SegmentCategory, SegmentMetricIdentity } import org.aspectj.lang.ProceedingJoinPoint import org.aspectj.lang.annotation.{ Around, Aspect, Pointcut } import kamon.trace.TraceRecorder @@ -38,7 +38,7 @@ class WSInstrumentation { val playExtension = Kamon(Play)(system) val executor = playExtension.defaultDispatcher val segmentName = playExtension.generateHttpClientSegmentName(request) - val segment = ctx.startSegment(segmentName, SegmentMetricIdentityLabel.HttpClient) + val segment = ctx.startSegment(segmentName, SegmentMetricIdentityLabel.HttpClient, Play.SegmentLibraryName) val response = pjp.proceed().asInstanceOf[Future[Response]] response.map(result ⇒ segment.finish())(executor) |