мониторинг использования процессора akka stream - PullRequest
0 голосов
/ 27 октября 2018

В нашем приложении запущено несколько потоков akka, и я хотел бы узнать, сколько ЦП использует каждый из них. У них одна и та же система актеров.

Моя идея состоит в том, чтобы выяснить, сколько времени каждый Runnable, ответственный за обработку островных почтовых ящиков, тратит на выполнение, и обработать его как время использования ЦП, но, кажется, невозможно ActorSystem использовать инструмент для достижения этой цели. Я мог бы, например:

  • создайте новый Materializer для каждого графа, вызвав withNamePrefix на базовом графике. Это даст префиксы имен всем актерам, чтобы я мог выяснить, к какому графу они принадлежат
  • (невозможно) глобально перехватить Actor.receive для определения времени выполнения и приписать его графику на основе имени актера

Наши графики довольно сложны, поэтому я бы хотел избежать ручного инструментирования каждого Flow.

Я новичок в akka / streams, поэтому я надеюсь, что упускаю что-то очевидное.

...