From 2f81f03742860a0a57cebeea6f0160f3c0d80a48 Mon Sep 17 00:00:00 2001 From: Diego Parra Date: Sun, 5 May 2013 20:33:28 -0300 Subject: added Mailbox, PoolMonitor and ActorSystem Aspects and fix newRelicReporter --- src/main/scala/akka/ActorAspect.scala | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/main/scala/akka/ActorAspect.scala (limited to 'src/main/scala/akka/ActorAspect.scala') diff --git a/src/main/scala/akka/ActorAspect.scala b/src/main/scala/akka/ActorAspect.scala new file mode 100644 index 00000000..2550752b --- /dev/null +++ b/src/main/scala/akka/ActorAspect.scala @@ -0,0 +1,24 @@ +package akka + +import org.aspectj.lang.annotation.{Around, Pointcut, Aspect} +import org.aspectj.lang.ProceedingJoinPoint +import kamon.metric.Metrics +import akka.actor.ActorCell + +@Aspect +class ActorAspect extends Metrics { + + @Pointcut("execution(* akka.actor.ActorCell+.receiveMessage(..))") + protected def actorReceive:Unit = {} + + @Around("actorReceive() && this(actor)") + def around(pjp: ProceedingJoinPoint, actor: akka.actor.ActorCell): AnyRef = { + + val actorName:String = actor.self.path.toString + + markAndCountMeter(actorName){ + pjp.proceed + } + + } +} \ No newline at end of file -- cgit v1.2.3