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.AsyncCache 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.AsyncCache 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.
-
-