Scala/Play线程池指标监控

3
有没有办法在Scala或Play Framework中获取线程池指标?
在scala.concurrent中,我只能访问
ExecutionContextExecutor

这个对象没有返回活动连接、排队任务数量等方法。

我无法将其转换为有访问执行器的实现,因为它们是私有的。

感谢任何帮助。

1个回答

1

I solved it that way:

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一起使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接