aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/akka/instrumentation/ActorInstrumentation.scala
blob: ea599891fe84643b91f75e482b76b1d76eddaed9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package akka.instrumentation

import org.aspectj.lang.annotation.{Before, Around, Pointcut, Aspect}
import org.aspectj.lang.ProceedingJoinPoint
import kamon.metric.Metrics
import akka.actor.ActorCell

@Aspect
class ActorInstrumentation {
  println("Created ActorAspect")

  @Pointcut("execution(* kamon.executor.PingActor.receive(..))")
  protected def actorReceive:Unit = {}

  @Before("actorReceive() && args(message)")
  def around(message: Any) = {
    println("Around the actor cell receive")
    //pjp.proceed(Array(Wrapper(message)))
    //pjp.proceed
  }
}

case class Wrapper(content: Any)