aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/akka/MailboxAspect.scala
diff options
context:
space:
mode:
authorDiego Parra <dparra@despegar.com>2013-05-10 16:24:26 -0300
committerDiego Parra <dparra@despegar.com>2013-05-10 16:24:26 -0300
commit588f9820601aa4f48962009ab346b8696e93c7f6 (patch)
treea0e2f2d4460826da003935b293c4445ac0ec4866 /src/main/scala/akka/MailboxAspect.scala
parentb9ff1a5ee5d3e1418e8d5bfe4e2cee48ec12bc30 (diff)
downloadKamon-588f9820601aa4f48962009ab346b8696e93c7f6.tar.gz
Kamon-588f9820601aa4f48962009ab346b8696e93c7f6.tar.bz2
Kamon-588f9820601aa4f48962009ab346b8696e93c7f6.zip
remove ActorSystemHolder and introduce Tracer
Diffstat (limited to 'src/main/scala/akka/MailboxAspect.scala')
-rw-r--r--src/main/scala/akka/MailboxAspect.scala25
1 files changed, 5 insertions, 20 deletions
diff --git a/src/main/scala/akka/MailboxAspect.scala b/src/main/scala/akka/MailboxAspect.scala
index a823d5b9..781ba055 100644
--- a/src/main/scala/akka/MailboxAspect.scala
+++ b/src/main/scala/akka/MailboxAspect.scala
@@ -1,31 +1,16 @@
package akka
import org.aspectj.lang.annotation._
-import scala.concurrent.duration._
-import com.newrelic.api.agent.NewRelic
@Aspect("perthis(mailboxMonitor())")
-class MailboxAspect extends ActorSystemHolder {
+class MailboxAspect {
+ println("Created MailboxAspect")
@Pointcut("execution(akka.dispatch.Mailbox.new(..)) && !within(MailboxAspect)")
protected def mailboxMonitor():Unit = {}
- @Before("mailboxMonitor() && this(mb)")
- def before(mb: akka.dispatch.Mailbox) : Unit = {
- actorSystem.scheduler.schedule(5 seconds, 6 second, new Runnable {
- def run() {
-
- val actorName = mb.actor.self.path.toString
-
- println(s"Sending metrics to Newrelic MailBoxMonitor -> ${actorName}")
-
-
- NewRelic.recordMetric(s"${actorName}:Mailbox:NumberOfMessages",mb.numberOfMessages)
- NewRelic.recordMetric(s"${actorName}:Mailbox:MailboxDispatcherThroughput",mb.dispatcher.throughput)
-
- NewRelic.addCustomParameter(s"${actorName}:Mailbox:Status", mb.hasMessages.toString)
- NewRelic.addCustomParameter(s"${actorName}:Mailbox:HasMessages", mb.hasMessages.toString)
- }
- })
+ @After("mailboxMonitor() && this(mb)")
+ def afterInitialization(mb: akka.dispatch.Mailbox) : Unit = {
+ Tracer.collectMailBox(mb)
}
} \ No newline at end of file