使用带有手动计数器增量的千分尺定时器

Use micrometer timer with manual counter increment

我有一个 KafkaListener,它接收包含对象列表的消息。

@KafkaListener(
    id = "dataConsumer",
    topics = "data.topic",
    groupId = "${spring.kafka.consumer.group-id}",
    containerFactory = "dataKafkaListenerContainerFactory")
public void consumeData(DataContainer message) {
    List<Data> data = message.getList();
    ...
}

对象列表的大小可能会有所不同,因此每条消息的指标可能没有用。

我可以通过转至 /actuator/metrics/spring.kafka.listener?tag=name:dataConsumer-0 获取此方法的计时器指标,但计数是针对消息而不是消息中的元素列表。如何切换此指标或为消息中数据元素的时间和计数制定类似的指标?

您可以使用 MeterRegistry 注册您自己的 Meter - 请参阅 Micrometer Documentation