Class CacheMetricsCollector
- java.lang.Object
-
- io.prometheus.client.Collector
-
- io.prometheus.client.cache.caffeine.CacheMetricsCollector
-
public class CacheMetricsCollector extends io.prometheus.client.Collector
Collect metrics from Caffeine's com.github.benmanes.caffeine.cache.Cache.
Exposed metrics are labeled with the provided cache name. With the example above, sample metric names would be:// Note that `recordStats()` is required to gather non-zero statistics Cache<String, String> cache = Caffeine.newBuilder().recordStats().build(); CacheMetricsCollector cacheMetrics = new CacheMetricsCollector().register(); cacheMetrics.addCache("mycache", cache);caffeine_cache_hit_total{cache="mycache"} 10.0 caffeine_cache_miss_total{cache="mycache"} 3.0 caffeine_cache_requests_total{cache="mycache"} 13.0 caffeine_cache_eviction_total{cache="mycache"} 1.0 caffeine_cache_estimated_size{cache="mycache"} 5.0Additionally if the cache includes a loader, the following metrics would be provided:caffeine_cache_load_failure_total{cache="mycache"} 2.0 caffeine_cache_loads_total{cache="mycache"} 7.0 caffeine_cache_load_duration_seconds_count{cache="mycache"} 7.0 caffeine_cache_load_duration_seconds_sum{cache="mycache"} 0.0034
-
-
Field Summary
Fields Modifier and Type Field Description protected ConcurrentMap<String,com.github.benmanes.caffeine.cache.Cache>children
-
Constructor Summary
Constructors Constructor Description CacheMetricsCollector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCache(String cacheName, com.github.benmanes.caffeine.cache.AsyncLoadingCache cache)Add or replace the cache with the given name.voidaddCache(String cacheName, com.github.benmanes.caffeine.cache.Cache cache)Add or replace the cache with the given name.voidclear()Remove all caches.List<io.prometheus.client.Collector.MetricFamilySamples>collect()com.github.benmanes.caffeine.cache.CacheremoveCache(String cacheName)Remove the cache with the given name.
-
-
-
Field Detail
-
children
protected final ConcurrentMap<String,com.github.benmanes.caffeine.cache.Cache> children
-
-
Constructor Detail
-
CacheMetricsCollector
public CacheMetricsCollector()
-
-
Method Detail
-
addCache
public void addCache(String cacheName, com.github.benmanes.caffeine.cache.Cache cache)
Add or replace the cache with the given name.Any references any previous cache with this name is invalidated.
- Parameters:
cacheName- The name of the cache, will be the metrics label valuecache- The cache being monitored
-
addCache
public void addCache(String cacheName, com.github.benmanes.caffeine.cache.AsyncLoadingCache cache)
Add or replace the cache with the given name.Any references any previous cache with this name is invalidated.
- Parameters:
cacheName- The name of the cache, will be the metrics label valuecache- The cache being monitored
-
removeCache
public com.github.benmanes.caffeine.cache.Cache removeCache(String cacheName)
Remove the cache with the given name.Any references to the cache are invalidated.
- Parameters:
cacheName- cache to be removed
-
clear
public void clear()
Remove all caches.Any references to all caches are invalidated.
-
-