В настоящее время я экспортирую показатели Actuator для своего проекта Spring Boot Webflux в DataDog с интервалом в 10 секунд. Я хотел бы добавить еще один экспортер для одной из наших внутренних систем, которого нет в списке поддерживаемых серверных частей. Глядя на реализацию от 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());
}
}
Однако это не работает, так как журналы не печатаются.
Мой вопрос: как я могу добавить и внедрить еще один MeterRegistry для Spring Boot Micrometer?
super.publish()
в вашем методе публикации. - person checketts   schedule 26.11.2019