如何找到卡夫卡消费者消耗主题中所有消息所花费的时间

时间:2019-03-28 16:29:57

标签: apache-kafka kafka-consumer-api spring-kafka

我必须记录消费者在春季卡夫卡活动所花费的时间。由于对每条消息执行kafkaListener方法,因此将记录器放在那儿是行不通的。同样,有时一些消息会丢失,并且不会被消费者使用。我应该把记录器放在哪里,以找出自消费者开始以来所花费的时间。使用者不会退出或关闭,它会无限期地轮询

1 个答案:

答案 0 :(得分:0)

您可以设置idleEventInterval容器属性,并使用ApplicationListener<ListenerContainerIdleEvent> bean(或@EventListener方法)来接收这些事件。

事件每idleEventInterval发布一次,并包含一个idleTime属性,这是自上次收到消息以来的时间。

对于开始时间,您可以查看partitions assigned日志消息,也可以仅使用start()容器的时间。