-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Statistics zh CN
Ben Manes edited this page Sep 16, 2024
·
3 revisions
Cache<Key, Graph> graphs = Caffeine.newBuilder()
.maximumSize(10_000)
.recordStats()
.build();
通过使用Caffeine.recordStats()
方法可以打开数据收集功能。Cache.stats()
方法将会返回一个CacheStats
对象,其将会含有一些统计指标,比如:
-
hitRate():
查询缓存的命中率 -
evictionCount():
被驱逐的缓存数量 -
averageLoadPenalty():
新值被载入的平均耗时
这些统计指标在缓存的调优中十分重要,我们强烈的建议你在性能指标严格的程序中去留意这些统计指标。
这些缓存统计指标可以被基于push/pull模式的报告系统进行集成。基于pull模式的系统可以通过调用Cache.stats()
方法获取当前缓存最新的统计快照。一个基于push的系统可以通过自定义一个StatsCounter
对象达到在缓存操作发生时自动推送更新指标的目的。
如果使用 Dropwizard Metrics 的话建议查看 metrics-caffeine 。
如果使用Prometheus的话可以尝试 prometheus-java。
如果实在难以选择的话可以尝试通过Micrometer来进行整合。