2016-12-30 5 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 тоже.

Смежные вопросы