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

Spring boot 2执行器缓存度量

孟振
2023-03-14

我在sprint Boot2执行器中找不到缓存度量。我应该如何查询它们或激活或调试?

org.springframework.boot:spring-boot-starter-acture:2.2.5.释放

{
  "cacheManagers": {
    "cacheManager": {
      "caches": {
        "calendar": {
          "target": "org.ehcache.jsr107.Eh107Cache"
        },
        "foo": {
          "target": "org.ehcache.jsr107.Eh107Cache"
        }
      }
    }
  }
}

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://www.ehcache.org/v3"
        xmlns:jsr107="http://www.ehcache.org/v3/jsr107"
        xsi:schemaLocation="
            http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.0.xsd
            http://www.ehcache.org/v3/jsr107 http://www.ehcache.org/schema/ehcache-107-ext-3.0.xsd">
    <cache alias="calendar" >
        <expiry>
            <ttl unit="seconds">60</ttl>
        </expiry>
        <resources>
            <heap unit="entries">2</heap>
            <offheap unit="MB">100</offheap>
        </resources>
    </cache>
    <cache alias="foo" >
        <expiry>
            <ttl unit="seconds">60</ttl>
        </expiry>
        <resources>
            <heap unit="entries">2</heap>
            <offheap unit="MB">100</offheap>
        </resources>
    </cache>
</config>

http://localhost:8080/acturet/metrics/cache.calendar.size

http://localhost:8080/acturet/metrics/cache.calendar.gets

http://localhost:8080//acture/metrics/cache.gets

如何获取缓存度量?

http://localhost:8080/actulator/metrics/cache?tag=calendar:size也不返回任何内容,在日志中我可以看到:

2020-05-28 15:57:35.207 DEBUG 12490 --- [nio-8080-exec-3] org.apache.tomcat.util.http.Parameters   : Decoding query null UTF-8
2020-05-28 15:57:35.207 DEBUG 12490 --- [nio-8080-exec-3] org.apache.tomcat.util.http.Parameters   : Start processing with input [tag=calendar:size]
2020-05-28 15:57:35.207 DEBUG 12490 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet        : GET "/actuator/metrics/cache?tag=calendar:size", parameters={masked}
2020-05-28 15:57:35.207 DEBUG 12490 --- [nio-8080-exec-3] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped to Actuator web endpoint 'metrics-requiredMetricName'
2020-05-28 15:57:35.208 DEBUG 12490 --- [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Using 'application/vnd.spring-boot.actuator.v3+json;q=0.8', given [text/html, application/xhtml+xml, image/webp, application/xml;q=0.9, */*;q=0.8] and supported [application/vnd.spring-boot.actuator.v3+json, application/vnd.spring-boot.actuator.v2+json, application/json]
2020-05-28 15:57:35.209 DEBUG 12490 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet        : Completed 404 NOT_FOUND
2020-05-28 15:57:35.209 DEBUG 12490 --- [nio-8080-exec-3] o.s.s.w.a.ExceptionTranslationFilter     : Chain processed normally

共有1个答案

阙庆
2023-03-14

在缓存配置中,可以启用统计信息:

<cache alias="calendar" >
    ...
    <jsr107:mbeans enable-statistics="true" />
</cache>
 类似资料:
  • 我有一些储藏室 I get with“/执行器/指标/缓存。get” 如何获取myCache和myOtherCache的命中和未命中值?

  • 因此,我将Spring引导执行器添加到我的应用程序中,并在应用程序中指定。属性管理。endpoint。健康隐藏物生存时间=120秒,以缓存健康检查结果。因此,当我调用执行器/健康时,结果被缓存,效果很好。 当我调用执行器/健康/就绪或自定义创建的组时,问题开始出现。该请求结果不会被缓存。我查阅了Spring文档,只找到了主要健康终点的信息,没有找到特定人群的信息。 所以我的问题是:我错过了什么吗?

  • 我在java中遇到了ScheduledExecutorService的问题(几天前我没有遇到这个问题,这让我觉得很奇怪)。请找到下面的代码和控制台输出。重复执行任务之间的延迟是1毫秒,所以理想情况下我应该达到每秒1000的计数(几毫秒),但这只是没有发生。请帮帮忙.. 代码: 控制台输出 1000-2013年3月13日14:43:54.477 200-2013年3月13日14:44:10.296

  • 我试图理解Java的关键字,关于在具有CPU缓存的多线程程序中写入易失性原子变量。 我已经阅读了一些教程和Java语言规范,特别是关于“订购前发生”的第17.4.5节。我的理解是,当一个线程将一个新值写入一个可变变量时,更新后的值必须对读取该变量的其他线程可见。对我来说,这些语义可以通过以下两种方式之一实现: > 线程可以在CPU缓存中缓存易失性变量,但对缓存中变量的写入必须立即刷新到主内存。换句

  • 我无法找到必要的信息,无论是在文档中还是在这里已经存在的问题中,这就是为什么我自己创建了一个(我还不能在类似的帖子下提问)。 我需要知道的是Spring任务执行器和调度器之间的关系。我当前的配置如下所示: 我不确定的是它是如何工作的。“谁”运行我的任务?是调度器,因为任务是和他一起安排的吗?或者调度器只是创建它们,放在队列中,由执行者运行它们? 如果没有,运行的是scheduler,我必须在特定类