aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala50
1 files changed, 0 insertions, 50 deletions
diff --git a/kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala b/kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala
deleted file mode 100644
index 9b5ce0a4..00000000
--- a/kamon-core/src/main/scala/kamon/instrumentation/ActorRefTellInstrumentation.scala
+++ /dev/null
@@ -1,50 +0,0 @@
-package kamon.instrumentation
-
-import org.aspectj.lang.annotation._
-import org.aspectj.lang.ProceedingJoinPoint
-import akka.actor.{Props, ActorSystem, ActorRef}
-import kamon.{Tracer}
-import akka.dispatch.{Envelope, MessageDispatcher}
-import com.codahale.metrics.Timer
-import scala.Some
-import kamon.trace.context.TracingAwareContext
-import kamon.trace.TraceContext
-
-case class TraceableMessage(traceContext: Option[TraceContext], message: Any, timer: Timer.Context)
-case class DefaultTracingAwareEnvelopeContext(traceContext: Option[TraceContext] = Tracer.traceContext.value, timestamp: Long = System.nanoTime) extends TracingAwareContext
-
-@Aspect
-class ActorCellInvokeInstrumentation {
-
- @Pointcut("execution(akka.actor.ActorCell.new(..)) && args(system, ref, props, dispatcher, parent)")
- def actorCellCreation(system: ActorSystem, ref: ActorRef, props: Props, dispatcher: MessageDispatcher, parent: ActorRef): Unit = {}
-
- @Pointcut("(execution(* akka.actor.ActorCell.invoke(*)) || execution(* akka.routing.RoutedActorCell.sendMessage(*))) && args(envelope)")
- def invokingActorBehaviourAtActorCell(envelope: Envelope) = {}
-
- @Around("invokingActorBehaviourAtActorCell(envelope)")
- def around(pjp: ProceedingJoinPoint, envelope: Envelope): Unit = {
- //safe cast
- val msgContext = envelope.asInstanceOf[TracingAwareContext].traceContext
-
- Tracer.traceContext.withValue(msgContext) {
- pjp.proceed()
- }
- }
-}
-
-@Aspect
-class EnvelopeTracingContext {
-
- @DeclareMixin("akka.dispatch.Envelope")
- def mixin: TracingAwareContext = DefaultTracingAwareEnvelopeContext()
-
- @Pointcut("execution(akka.dispatch.Envelope.new(..)) && this(ctx)")
- def requestRecordInit(ctx: TracingAwareContext): Unit = {}
-
- @After("requestRecordInit(ctx)")
- def whenCreatedRequestRecord(ctx: TracingAwareContext): Unit = {
- // Necessary to force the initialization of TracingAwareRequestContext at the moment of creation.
- ctx.traceContext
- }
-}