Package io.prometheus.client.guava.cache
Class CacheMetricsCollector
- java.lang.Object
-
- io.prometheus.client.Collector
-
- io.prometheus.client.guava.cache.CacheMetricsCollector
-
public class CacheMetricsCollector extends Collector
Collect metrics from Guava's com.google.common.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 = CacheBuilder.newBuilder().recordStats().build(); CacheMetricsCollector cacheMetrics = new CacheMetricsCollector().register(); cacheMetrics.addCache("mycache", cache);guava_cache_hit_total{cache="mycache"} 10.0 guava_cache_miss_total{cache="mycache"} 3.0 guava_cache_requests_total{cache="mycache"} 13.0 guava_cache_eviction_total{cache="mycache"} 1.0 guava_cache_size{cache="mycache"} 5.0Additionally if the cache includes a loader, the following metrics would be provided:guava_cache_load_failure_total{cache="mycache"} 2.0 guava_cache_loads_total{cache="mycache"} 7.0 guava_cache_load_duration_seconds_count{cache="mycache"} 7.0 guava_cache_load_duration_seconds_sum{cache="mycache"} 0.0034
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.prometheus.client.Collector
Collector.Describable, Collector.MetricFamilySamples, Collector.Type
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.concurrent.ConcurrentMap<java.lang.String,com.google.common.cache.Cache>children-
Fields inherited from class io.prometheus.client.Collector
MILLISECONDS_PER_SECOND, NANOSECONDS_PER_SECOND
-
-
Constructor Summary
Constructors Constructor Description CacheMetricsCollector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCache(java.lang.String cacheName, com.google.common.cache.Cache cache)Add or replace the cache with the given name.voidclear()Remove all caches.java.util.List<Collector.MetricFamilySamples>collect()Return all metrics of this Collector.com.google.common.cache.CacheremoveCache(java.lang.String cacheName)Remove the cache with the given name.-
Methods inherited from class io.prometheus.client.Collector
checkMetricLabelName, checkMetricName, collect, doubleToGoString, register, register, sanitizeMetricName
-
-
-
-
Method Detail
-
addCache
public void addCache(java.lang.String cacheName, com.google.common.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
-
removeCache
public com.google.common.cache.Cache removeCache(java.lang.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.
-
collect
public java.util.List<Collector.MetricFamilySamples> collect()
Description copied from class:CollectorReturn all metrics of this Collector.
-
-