2016-12-30 28 views
2

有什么方法可以在Scala或Play Framework中获取线程池指标?Scala/Play线程池指标

scala.concurrent我只能访问

ExecutionContextExecutor 

它没有返回的活动连接的方法,排队任务数等

我不能投它即有机会获得的实现执行者,因为他们是私人的。

谢谢你的帮助。

回答

0

我解决了这样的说法:

val field: Field = Class.forName("scala.concurrent.impl.ExecutionContextImpl").getDeclaredField("executor") 
field.setAccessible(true) 
val executor: ForkJoinPool = field.get(ExecutionContext.global).asInstanceOf[ForkJoinPool] 

我知道,它仅适用于ForkJoinPool的时刻,但使用一些模式匹配等,它可以更通用的,与工作ThreadPoolExecutor