Spring boot 使用statsd datadog测微计错误的SLO直方图计数
背景: 我正在尝试测微计的SLO功能,我希望我能得到满足SLO的请求数。例如,如果我将SLO设置为500ms,那么我想知道有多少个请求Spring boot 使用statsd datadog测微计错误的SLO直方图计数,spring-boot,datadog,statsd,micrometer,spring-micrometer,Spring Boot,Datadog,Statsd,Micrometer,Spring Micrometer,背景: 我正在尝试测微计的SLO功能,我希望我能得到满足SLO的请求数。例如,如果我将SLO设置为500ms,那么我想知道有多少个请求 management.metrics.enable.all=true management.metrics.export.statsd.enabled=true management.metrics.export.statsd.flavor=datadog management.metrics.export.statsd.host=127.0.0.1 m
management.metrics.enable.all=true
management.metrics.export.statsd.enabled=true
management.metrics.export.statsd.flavor=datadog
management.metrics.export.statsd.host=127.0.0.1
management.metrics.export.statsd.port=8125
management.metrics.web.client.request.metricName=acd.http.client.requests
management.metrics.web.server.request.metricName=acd.http.server.requests
@Configuration
open class AccomWebFluxMeterFilter {
@Bean
open fun meterFilter(): MeterFilter {
return object : MeterFilter {
override fun configure(id: Meter.Id, config: DistributionStatisticConfig): DistributionStatisticConfig? {
if (id.name.startsWith("acd.http.server.requests") || id.name.startsWith("acd.http.client.requests")) {
return DistributionStatisticConfig.builder()
.percentiles(0.5, 0.75, 0.95, 0.998, 0.9995, 0.9999)
.serviceLevelObjectives(
Duration.ofMillis(50).toNanos().toDouble(),
Duration.ofMillis(100).toNanos().toDouble(),
Duration.ofMillis(1000).toNanos().toDouble(),
Duration.ofMillis(5000).toNanos().toDouble()
)
.build()
.merge(config)
}
return config
}
}
}
}