如何监视bolt的挂起队列的大小?

xyhw6mcr  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(219)

我的拓扑结构有一两个瓶颈。StormUI中的容量度量对于识别这些问题很有用,但我更感兴趣的是bolt队列的大小。
我的理解是,每个bolt有两个队列,一个用于等待执行的元组,另一个用于等待发出的元组。是否可以监视这些队列的大小?
我在网上找到了一些关于在bolts中添加itaskhook实现的东西,但还不清楚如何使用它来监视队列大小。itaskhook中的方法是否可以用于监视此情况?

66bbxpm5

66bbxpm51#

您应该能够使用metrics机制查看拓扑组件的队列长度。一个简单的方法是添加 conf.registerMetricsConsumer(LoggingMetricsConsumer.class) 到拓扑的配置。
下面是一个例子,我得到了我的一个组件 4:fetch __sendqueue {write_pos=12122, read_pos=12122, capacity=1024, population=0} 4:fetch __receive {write_pos=8588, read_pos=8587, capacity=1024, population=1}

相关问题