aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/akka/MailboxAspect.scala
blob: 5ca6d6ab397c31366921cf842f1705fc299e7b16 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package akka

import org.aspectj.lang.annotation._

@Aspect("perthis(mailboxMonitor())")
class MailboxAspect {
  println("Created MailboxAspect")

  @Pointcut("execution(akka.dispatch.Mailbox.new(..)) && !within(MailboxAspect)")
  protected def mailboxMonitor():Unit = {}

  @After("mailboxMonitor() && this(mb)")
  def afterInitialization(mb: akka.dispatch.Mailbox) : Unit = {
    Tracer.collectMailbox(mb)
  }
}