aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/akka/ActorAspect.scala
diff options
context:
space:
mode:
authorDiego Parra <diegolparra@gmail.com>2013-05-05 20:33:28 -0300
committerDiego Parra <diegolparra@gmail.com>2013-05-05 20:33:28 -0300
commit2f81f03742860a0a57cebeea6f0160f3c0d80a48 (patch)
tree2715ea8499f8245d31976ff2450c47da3cf64f4c /src/main/scala/akka/ActorAspect.scala
parent2caece9ef7574406c548b4a1f333de4c9579b3a2 (diff)
downloadKamon-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.scala24
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