gpt4 book ai didi

java - 如何为 Spring Boot 2 添加自定义 MeterRegisty

转载 作者:行者123 更新时间:2023-12-04 10:58:01 25 4
gpt4 key购买 nike

我目前正在将 Spring Boot Webflux 项目的 Actuator 指标以 10 秒的间隔导出到 DataDog。我想为我们的一个内部系统添加另一个不在受支持后端列表中的导出器。查看来自 DataDogMeterRegistry 的实现我想出了以下内容。

public interface ExternalConfig extends StepRegistryConfig {

ExternalConfig DEFAULT = k -> null;

@Override
default String prefix() {
return "vwexternal";
}
}

@Slf4j
public class ExternalMeterRegistry extends StepMeterRegistry {

public ExternalMeterRegistry() {
this(ExternalConfig.DEFAULT, Clock.SYSTEM);
}

public ExternalMeterRegistry(StepRegistryConfig config, Clock clock) {
super(config, clock);
}

@Override
protected void publish() {
log.info("HERE");
}

@Override
protected TimeUnit getBaseTimeUnit() {
return TimeUnit.MILLISECONDS;
}
}

@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
Metrics.addRegistry(new ExternalMeterRegistry());
}
}

但是,这不起作用,因为没有打印日志。

我的问题是如何为 Spring Boot Micrometer 添加和实现另一个 MeterRegistry?

最佳答案

您需要start出版。与 LoggingMeterRegistry 比较

在您的构造函数中,类似于:

start(new NamedThreadFactory("vw-metrics-publisher"))

关于java - 如何为 Spring Boot 2 添加自定义 MeterRegisty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59046195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com