совокупные показатели относительно потоков akka - PullRequest
1 голос
/ 02 мая 2019

В моем приложении есть источник, который я мультиплексирую для вызовов клиентов.

Что-то вроде:

val source: RunnableGraph[Source[...]] = ...

def foo() = source.run().log("sending user something").map(...)

Если у меня есть тысячи клиентов, вызывающих foo и тики foo каждую секунду, будут миллионы бессмысленных сообщений журнала. Поэтому я хочу избавиться от отдельного журнала выше и заменить его одним агрегированным сообщением, например:

"отправил что-то X клиентам".

Я смотрел на Камона и корицу, поэтому я ценю, что, возможно, это возможно сделать с ними, но в идеале есть что-то гораздо более легкое для чего-то подобного?

1 Ответ

1 голос
/ 02 мая 2019

Я думаю, что это возможно, если вы будете собирать данные в маленьких окнах, подобных этому https://softwaremill.com/windowing-data-in-akka-streams/ Или вы можете использовать Map [ClientId, Monoid [YourCallMetrics]] и комбинировать его через график выполнения

...