aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/akka/PoolMonitorAspect.scala
blob: c83defa956e7c5664529d3e9bfca638d8b89576c (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(poolMonitor())")
class PoolMonitorAspect {
  println("Created PoolMonitorAspect")

  @Pointcut("execution(scala.concurrent.forkjoin.ForkJoinPool.new(..)) && !within(PoolMonitorAspect)")
  protected def poolMonitor:Unit = {}

  @Before("poolMonitor() && this(pool)")
  def beforePoolInstantiation(pool: scala.concurrent.forkjoin.ForkJoinPool):Unit = {
    Tracer.collectPool(pool)
  }
}