aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/test
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2014-02-02 22:55:05 -0300
committerIvan Topolnjak <ivantopo@gmail.com>2014-02-02 22:55:05 -0300
commitd2f43e874f867afab55e0e76f1edd89faff85953 (patch)
tree479bfb8f710120cba3812f99ba047f05ee8e1539 /kamon-core/src/test
parent6bdbe4c6473ac052567c097c1a7376c15dc67ea2 (diff)
downloadKamon-d2f43e874f867afab55e0e76f1edd89faff85953.tar.gz
Kamon-d2f43e874f867afab55e0e76f1edd89faff85953.tar.bz2
Kamon-d2f43e874f867afab55e0e76f1edd89faff85953.zip
instrument akka testkit to correctly propagate TraceContexts when replying from a test probe
Diffstat (limited to 'kamon-core/src/test')
-rw-r--r--kamon-core/src/test/resources/META-INF/aop.xml13
-rw-r--r--kamon-core/src/test/scala/akka/testkit/TestProbeTracing.scala54
2 files changed, 0 insertions, 67 deletions
diff --git a/kamon-core/src/test/resources/META-INF/aop.xml b/kamon-core/src/test/resources/META-INF/aop.xml
deleted file mode 100644
index ea8dce20..00000000
--- a/kamon-core/src/test/resources/META-INF/aop.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
-
-<aspectj>
- <aspects>
- <!-- Actors -->
- <aspect name="akka.testkit.TestProbeTracing"/>
- </aspects>
-
- <weaver options="-verbose -showWeaveInfo">
- <include within="akka..*"/>
- </weaver>
-
-</aspectj> \ No newline at end of file
diff --git a/kamon-core/src/test/scala/akka/testkit/TestProbeTracing.scala b/kamon-core/src/test/scala/akka/testkit/TestProbeTracing.scala
deleted file mode 100644
index a050145a..00000000
--- a/kamon-core/src/test/scala/akka/testkit/TestProbeTracing.scala
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * =========================================================================================
- * Copyright © 2013 the kamon project <http://kamon.io/>
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific language governing permissions
- * and limitations under the License.
- * =========================================================================================
- */
-
-package akka.testkit
-
-import org.aspectj.lang.annotation._
-import kamon.trace.{ TraceContextAware, TraceRecorder }
-import org.aspectj.lang.ProceedingJoinPoint
-import akka.testkit.TestActor.RealMessage
-
-@Aspect
-class TestProbeTracing {
-
- @DeclareMixin("akka.testkit.TestActor.RealMessage")
- def mixin: TraceContextAware = TraceContextAware.default
-
- @Pointcut("execution(akka.testkit.TestActor.RealMessage.new(..)) && this(ctx)")
- def realMessageCreation(ctx: TraceContextAware): Unit = {}
-
- @After("realMessageCreation(ctx)")
- def afterRealMessageCreation(ctx: TraceContextAware): Unit = {
- // Necessary to force the initialization of ContextAware at the moment of creation.
- ctx.traceContext
- }
-
- @Pointcut("execution(* akka.testkit.TestProbe.reply(..)) && this(testProbe)")
- def testProbeReply(testProbe: TestProbe): Unit = {}
-
- @Around("testProbeReply(testProbe)")
- def aroundTestProbeReply(pjp: ProceedingJoinPoint, testProbe: TestProbe): Any = {
- val traceContext = testProbe.lastMessage match {
- case msg: RealMessage ⇒ msg.asInstanceOf[TraceContextAware].traceContext
- case _ ⇒ None
- }
-
- TraceRecorder.withTraceContext(traceContext) {
- pjp.proceed
- }
- }
-
-}