diff options
author | Diego Parra <diegolparra@gmail.com> | 2013-05-05 20:33:28 -0300 |
---|---|---|
committer | Diego Parra <diegolparra@gmail.com> | 2013-05-05 20:33:28 -0300 |
commit | 2f81f03742860a0a57cebeea6f0160f3c0d80a48 (patch) | |
tree | 2715ea8499f8245d31976ff2450c47da3cf64f4c /src/main/scala/akka/ActorAspect.scala | |
parent | 2caece9ef7574406c548b4a1f333de4c9579b3a2 (diff) | |
download | Kamon-2f81f03742860a0a57cebeea6f0160f3c0d80a48.tar.gz Kamon-2f81f03742860a0a57cebeea6f0160f3c0d80a48.tar.bz2 Kamon-2f81f03742860a0a57cebeea6f0160f3c0d80a48.zip |
added Mailbox, PoolMonitor and ActorSystem Aspects and fix newRelicReporter
Diffstat (limited to 'src/main/scala/akka/ActorAspect.scala')
-rw-r--r-- | src/main/scala/akka/ActorAspect.scala | 24 |
1 files changed, 24 insertions, 0 deletions
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 |