Spring boot 使用statsd datadog测微计错误的SLO直方图计数

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

背景:

我正在尝试测微计的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
 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
       }
     }
   }
 
 }