gpt4 book ai didi

java - 无法在 Spring Boot 中查看缓存指标(命中/未命中/大小)?

转载 作者:行者123 更新时间:2023-12-01 19:44:23 25 4
gpt4 key购买 nike

我已经实现了两个缓存管理器。一种使用咖啡因,一种使用 redis。我已将它们作为 bean 公开,并且它们正在按预期工作。/actuator/metrics 路径中的列表中也没有任何可用的缓存端点。
我只能加载 /actuator/caches/actuator/caches/{缓存名称}端点。这些端点仅显示正在使用的缓存的名称和类。我看不到与它们相关的任何指标。我正在使用 springboot 2.1.3 和 spring-boot-actuator。

 @Bean
public CacheManager caffeine() {
CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager();
caffeineCacheManager.setCaffeine(caffeineCacheBuilder());
return caffeineCacheManager;
}

private Caffeine<Object, Object> caffeineCacheBuilder() {
return Caffeine.newBuilder().
initialCapacity(initialCapacity).
maximumSize(maxCapacity).
expireAfterAccess(Duration.parse(ttl)).
recordStats();
}

最佳答案

事实证明,@Cacheable 在运行时动态地创建缓存,因此如果我们希望带注释的缓存具有指标,我们必须在cacheManagerBean 中显式设置缓存名称,从而使cacheManager 静态化。
或者创建一个自定义的registryBinder,如after upgrade to Spring Boot 2, how to expose cache metrics to prometheus?中所述。并在创建缓存后调用register方法。

关于java - 无法在 Spring Boot 中查看缓存指标(命中/未命中/大小)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59142947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com