我正在kafka中寻找一个显示记录年龄的指标(最好的情况是在kafka消费者指标中)。
例如一条记录于凌晨 2:00 发布,并于凌晨 2:15 消耗,该指标应显示 15 分钟(以任何表示形式,纳秒、毫秒、秒等)
我做了研究,寻找类似的同义词
在汇合文档中,但似乎没有任何内容显示出这种价值。
我认为没有消费者级别的指标可以查看消息何时被消费。也许您可以在消费者应用程序中接收消息时存储时间戳。 但你可以获取kafka消息中存储的时间戳数据。
有两种情况。
1.向kafka生产消息时,可以获取生产者设置的时间戳数据。
2.您还可以获取kafka收到生产者消息时设置的时间戳数据。
对于情况-1,您必须在 server.properties 文件中设置此属性
log.message.timestamp.type=创建时间
对于情况-2
log.message.timestamp.type=LogAppendTime
如果您使用 kafka-console-consumer.sh 使用以下命令
->bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topicName --property print.timestamp=true
如果您使用自己的用 Java 编写的消费者应用程序,请使用以下函数
->record.timestamp()
如果您使用自己的用 cpp(librdkafka) 编写的消费者应用程序,请使用以下函数
->rd_kafka_message_timestamp()。