当前位置: 首页 > 知识库问答 >
问题:

没有@EnableAutoConfiguration的Spring执行器度量有问题

颛孙炜
2023-03-14

在我的基于SpringBoot的应用程序中,我不能使用@enableAutoConfiguration,因此我必须手动将所有配置添加到@import注释中。我知道如何启用一般endpoint/acture和其他一些endpoint,如/acture/healt/acture/env(下面的示例)。然而,即使我尝试了数千个选项,还是无法使metrics工作(使用@enableautociguration它工作)。我的配置如下:

@SpringBootConfiguration
@ComponentScan(excludeFilters = { @ComponentScan.Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @ComponentScan.Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
@Import({
        ServletWebServerFactoryAutoConfiguration.class,
        DispatcherServletAutoConfiguration.class,
        WebMvcAutoConfiguration.class,

        ManagementContextAutoConfiguration.class,
        EndpointAutoConfiguration.class,
        WebEndpointAutoConfiguration.class,

        HealthIndicatorAutoConfiguration.class,
        HealthEndpointAutoConfiguration.class,

        EnvironmentEndpointAutoConfiguration.class,

        //---------- configs metrics related: 
        MetricsAutoConfiguration.class,
        CompositeMeterRegistryAutoConfiguration.class,
        JvmMetricsAutoConfiguration.class,
        MetricsEndpointAutoConfiguration.class,
        SystemMetricsAutoConfiguration.class,
        SimpleMetricsExportAutoConfiguration.class,
        WebMvcMetricsAutoConfiguration.class
}
)
public class Application {

    public static void main(String[] args) {
        ApplicationContext ctx = SpringApplication.run(Application.class, args);
    }

}

使用这样的配置,即使我可以在/acture页面上看到metricsendpoint:actures主页

并且它应该包含系统和jvm度量(以及第一次http调用之后的httpendpoint度量)。知道我应该做什么,以启用Spring执行器的度量吗?

共有1个答案

公西天逸
2023-03-14

我发现了一个解决方案,度量导入的顺序不正确,顺序应该是这样的:

        MetricsAutoConfiguration.class,
        SimpleMetricsExportAutoConfiguration.class,
        CompositeMeterRegistryAutoConfiguration.class,
        JvmMetricsAutoConfiguration.class,
        MetricsEndpointAutoConfiguration.class,
        SystemMetricsAutoConfiguration.class,
        WebMvcMetricsAutoConfiguration.class
 类似资料:
  • 问题内容: 我一直在研究Spring / Spring MVC应用程序,并且希望添加性能指标。我遇到过Spring Boot Actuator,它看起来是一个不错的解决方案。但是我的应用程序不是Spring Boot应用程序。我的应用程序在传统容器Tomcat 8中运行。 我添加了以下依赖 我创建了以下配置类。 我什至可以按照StackOverflow另一篇文章的建议在每个配置类上添加 问题答案:

  • 可以用与Spring-Boot1.5类似的方式获取hystrix度量信息? 在1.5度量endpoint中,我有如下内容: 但现在有了使用千分尺的执行器/度量endpoint,我找不到任何对术语“Hystrix”、“Netflix”等的引用。 有什么方法可以不像我以前那样使用hystrix.streamendpoint来获取这些信息?或者这应该是有效的,我做错了什么吗?

  • 我在sprint Boot2执行器中找不到缓存度量。我应该如何查询它们或激活或调试? org.springframework.boot:spring-boot-starter-acture:2.2.5.释放 http://localhost:8080/acturet/metrics/cache.calendar.size http://localhost:8080/acturet/metrics/

  • 问题内容: 我有一个用例,其中在Completable中初始化一些全局变量,然后在链的下一步(使用运算符)中使用这些变量。 以下样本详细解释了我的用例 说你有一堂课 我有一个这样的Observable, 首先,我正在做一些初始化工作,我希望操作员仅在完成之后才能开始。 这意味着我希望操作员开始时会初始化。 以下是我对这个可观察的订阅 但是当我运行此代码时,出现错误 表示为null, 在执行 。这里

  • 我假设MAX统计数据是执行请求的最大时间(因为我已经发出了两个请求,所以它是对其中一个请求进行较长处理的时间)。 每当我通过任何标记筛选度量,如 我总是得到0.0作为一个最大的时间。这是什么原因?

  • 我正在运行一个Spring Boot2应用程序,并添加了致动器Spring Boot starter依赖项。我启用了所有webendpoint,然后调用: http://localhost:8080/acture/metrics 结果是: 但我缺少所有的JVM统计数据和其他内置度量。我错过了什么?我读到的每一件事都说,这些度量标准应该在任何时候都可用。 谢谢你的提示。