我一直在试图为我当前的项目记录所有风暴指标的意义。
在这个过程中,我收集了来自这组响应以及github的数据。
虽然有些指标是不言自明的,但我确实对一些bolt指标感到困惑。
例如,进程延迟和执行延迟之间有什么区别?
从这个谷歌群组的帖子中,我收集了以下信息:
list item processing latency=调用ack时的时间戳-传递execute元组时的时间戳
list item execute latency=timestamp when execute function ends-timestamp when execute is passed tuple(源:http://goo.gl/3kral)
和
list item process latency是在确认元组之前的时间,execute latency是元组执行过程中花费的时间(源:http://goo.gl/m0ftc)
根据我在StormUI中看到的情况,我的执行延迟几乎总是大于进程延迟。怎么可能呢?有人能帮我准确定义两种延迟吗?
提前谢谢!
2条答案
按热度按时间zvokhttg1#
根据您的定义,执行延迟应该总是大于进程延迟,因为ack在execute方法中被调用,abhijeet也提到过。
如果您注意到一个主要的差异,那么在确认元组之后,您可能有一些代码。
soat7uwm2#
ack在执行器的execute函数中被调用,或者简而言之,在bolt的execute方法结束之前被调用。因此,执行延迟更大。这个片段将使事情变得更清楚(原样取自此处):
我希望这有帮助。