rdkafka消费者查询分区大小

时间:2015-08-28 08:36:01

标签: c++ logging apache-kafka producer-consumer kafka-consumer-api

假设我无法访问提交感兴趣分区的生成器集,但只能控制一堆C ++消费者。 由于我在一个复杂的程序上运行基准测试,我想知道我的消费者正在获取的偏移量与存储在分区中的总偏移量之间的差异。

例如,>> reading message #1234 of 5678 total in partition 0 of topic foo

我误解了RdKafka::Consumer->outq_len()RdKafka::Topic->OFFSET_END的目的,因为似乎总是分别等于0-1

如何获取示例的5678值?

1 个答案:

答案 0 :(得分:2)

您需要订阅librdkafka的统计信息,以获取有关您的消费者延迟的最新视图。 注册Event回调类并定期调用句柄上的poll(),检查EVENT_STATS然后解析相应的JSON消息并查找lo_offsethi_offsetconsumer_lag