我正在尝试围绕我们的 Storm 拓扑开发一些报告,我们想要报告的一个指标是由于超时而失败的元组数量。
据我了解,当元组未能在超时长度之前完成时,Storm 会自动使元组失败,但这似乎发生在“幕后”,而且我没有找到一种方法来区分超时失败与其他类型的失败失败。
有什么方法可以公开或捕获这些信息吗?
最佳答案
如果考虑 Storm 的 WebUI,每个 bolt 都会有一个失败元组的计数。这些计数仅是 Bolt 手动失败的元组(即通过 OutputCollector.fail(...)
失败),不包括遇到超时的元组。 Spout 有一个失败元组的总体计数器。因此,您可以简单地总结所有 Bolt 上手动失败的元组数量,并从全局 Spout 计数中减去 if 以获得超时的元组数量。
关于java - 在Storm中,有没有办法计算由于超时而失败的元组数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32910326/