【问题标题】:Configure distribution statistic for http.server.requests in spring-boot在 spring-boot 中配置 http.server.requests 的分布统计
【发布时间】:2019-03-27 08:31:02
【问题描述】:

有没有办法为http.server.requests 指标配置分布统计过期和缓冲区长度?

我需要延长有效期,但找不到使用弹簧靴执行器执行此操作的正确方法。是否可以配置这些设置?

【问题讨论】:

  • 请添加更多详细信息并分享您的尝试(如果有)
  • 千分尺计时器能够增加distributionStatisticExpirydistributionStatisticBufferLength,但我无法在spring-boot 的http.server.requests 中为我的百分位数设置这些设置。我想增加为http.server.requests 计算女巫百分位数的窗口,但找不到合适的方法。

标签: spring-boot spring-boot-actuator spring-micrometer


【解决方案1】:

您应该查看DistributionStatisticConfigDEFAULT实例的创建展示了如何设置expirybufferLength

在 Spring Boot 中您所要做的就是在您的 @SpringBootApplication@Configuration 类中注册一个 bean MeterRegistryCustomizer

import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;

@Bean
public MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
    return registry -> registry.config()
        .commonTags("myTag", myTagValue)
        .meterFilter(new MeterFilter() {

            @Override
            public DistributionStatisticConfig configure(Meter.Id id,
                                                         DistributionStatisticConfig config) {
                if (id.getName().startsWith("http.server.requests")) {
                    return config.merge(DistributionStatisticConfig.builder()
                        .percentilesHistogram(true)
                        .percentiles(0.5, 0.9, 0.99)
                        .percentilePrecision(1)
                        .minimumExpectedValue(1L)
                        .maximumExpectedValue(Long.MAX_VALUE)
                        .expiry(Duration.ofMinutes(1))
                        .bufferLength(2)
                        .build());
                }
                return config;
            }
        });
}

您也可以在 Micrometer 的 Slack channel 上提问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 2019-11-22
    • 2022-01-04
    相关资源
    最近更新 更多