我希望公开度量端点上的所有指标,但将其中一些指标发布到远程计价器注册表中。
为此,我为度量端点添加了一个SimpleMeterRegistry,并为远程仪表注册表(Datadog)添加了一个MeterRegistryCustomizer,以添加一些MeterFilter,以避免使用MeterFilter的拒绝函数进行特定度量。例如:
@Bean
public MeterRegistryCustomizer<StatsdMeterRegistry> meterRegistryCustomizer() {
return (registry) -> new StatsdMeterRegistry(config, Clock.SYSTEM).config().meterFilter(MeterFilter.denyNameStartsWith("jvm"));
} 但是,所有与jvm相关的指标都可以在Datadog中看到。我试过MeterFilterReply,但没有用。请建议如何实现这一目标。
发布于 2020-03-31 12:56:50
您正在新的StatsdMeterRegistry上配置筛选器。在使用MeterRegistryCustomizer时,需要对传入的注册表进行操作。
@Bean
public MeterRegistryCustomizer<StatsdMeterRegistry> meterRegistryCustomizer() {
return (registry) -> registry.config().meterFilter(MeterFilter.denyNameStartsWith("jvm"));
} 由于自定义程序将对所有注册表使用,因此还需要添加一个if语句,以便只对要筛选的注册表进行筛选。
@Bean
public MeterRegistryCustomizer<StatsdMeterRegistry> meterRegistryCustomizer() {
return (registry) -> {
if(registry instanceof StatsdMeterRegistry) {
registry.config().meterFilter(MeterFilter.denyNameStartsWith("jvm"));
}
}
} https://stackoverflow.com/questions/60933143
复制相似问题