假设我无法访问提交感兴趣分区的生成器集,但只能控制一堆C ++消费者。 由于我在一个复杂的程序上运行基准测试,我想知道我的消费者正在获取的偏移量与存储在分区中的总偏移量之间的差异。
例如,>> reading message #1234 of 5678 total in partition 0 of topic foo
我误解了RdKafka::Consumer->outq_len()
和RdKafka::Topic->OFFSET_END
的目的,因为似乎总是分别等于0
和-1
。
如何获取示例的5678
值?
答案 0 :(得分:2)
您需要订阅librdkafka
的统计信息,以获取有关您的消费者延迟的最新视图。
注册Event
回调类并定期调用句柄上的poll()
,检查EVENT_STATS
然后解析相应的JSON消息并查找lo_offset
,hi_offset
和consumer_lag
。