在我的应用程序中,我有一个正在多路复用来进行客户端调用的源。
类似的东西:
val source: RunnableGraph[Source[...]] = ...
def foo() = source.run().log("sending user something").map(...)
如果我有1000个客户端调用foo,并且foo ticks每秒钟,就会有数百万条毫无意义的日志消息。所以我想摆脱上面的单个日志,并用一条聚合消息代替它,例如:
“向X客户发送邮件”。
我看过Kamon和肉桂,所以我很可能可以和它们一起做,但是理想情况下,这样的东西要轻得多?
答案 0 :(得分:1)
我认为,您有可能在https://softwaremill.com/windowing-data-in-akka-streams/这样的小窗口中汇总数据 或者,您可以使用Map [ClientId,Monoid [YourCallMetrics]]并通过可运行图进行组合