Class EhCache2Metrics
- java.lang.Object
-
- io.micrometer.core.instrument.binder.cache.CacheMeterBinder
-
- io.micrometer.core.instrument.binder.cache.EhCache2Metrics
-
- All Implemented Interfaces:
MeterBinder
@NonNullApi @NonNullFields public class EhCache2Metrics extends CacheMeterBinder
Collect metrics on EhCache caches, including detailed metrics on transactions and storage space.
-
-
Constructor Summary
Constructors Constructor Description EhCache2Metrics(net.sf.ehcache.Ehcache cache, java.lang.Iterable<Tag> tags)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
bindImplementationSpecificMetrics(MeterRegistry registry)
Bind detailed metrics that are particular to the cache implementation, e.g.protected java.lang.Long
evictionCount()
protected long
hitCount()
protected java.lang.Long
missCount()
static net.sf.ehcache.Ehcache
monitor(MeterRegistry registry, net.sf.ehcache.Ehcache cache, java.lang.Iterable<Tag> tags)
Record metrics on an EhCache cache.static net.sf.ehcache.Ehcache
monitor(MeterRegistry registry, net.sf.ehcache.Ehcache cache, java.lang.String... tags)
Record metrics on an EhCache cache.protected long
putCount()
The put mechanism is unimportant - this count applies to entries added to the cache according to a pre-defined load function such as exists in Guava/Caffeine caches as well as manual puts.protected java.lang.Long
size()
MOST cache implementations provide a means of retrieving the number of entries.-
Methods inherited from class io.micrometer.core.instrument.binder.cache.CacheMeterBinder
bindTo, getTagsWithCacheName
-
-
-
-
Constructor Detail
-
EhCache2Metrics
public EhCache2Metrics(net.sf.ehcache.Ehcache cache, java.lang.Iterable<Tag> tags)
-
-
Method Detail
-
monitor
public static net.sf.ehcache.Ehcache monitor(MeterRegistry registry, net.sf.ehcache.Ehcache cache, java.lang.String... tags)
Record metrics on an EhCache cache.- Parameters:
registry
- The registry to bind metrics to.cache
- The cache to instrument.tags
- Tags to apply to all recorded metrics. Must be an even number of arguments representing key/value pairs of tags.- Returns:
- The instrumented cache, unchanged. The original cache is not wrapped or proxied in any way.
-
monitor
public static net.sf.ehcache.Ehcache monitor(MeterRegistry registry, net.sf.ehcache.Ehcache cache, java.lang.Iterable<Tag> tags)
Record metrics on an EhCache cache.- Parameters:
registry
- The registry to bind metrics to.cache
- The cache to instrument.tags
- Tags to apply to all recorded metrics.- Returns:
- The instrumented cache, unchanged. The original cache is not wrapped or proxied in any way.
-
size
protected java.lang.Long size()
Description copied from class:CacheMeterBinder
MOST cache implementations provide a means of retrieving the number of entries. Even if- Specified by:
size
in classCacheMeterBinder
- Returns:
- Total number of cache entries. This value may go up or down with puts, removes, and evictions. Returns
null
if the cache implementation does not provide a way to track cache size.
-
hitCount
protected long hitCount()
- Specified by:
hitCount
in classCacheMeterBinder
- Returns:
- Get requests that resulted in a "hit" against an existing cache entry. Monotonically increasing hit count.
-
missCount
protected java.lang.Long missCount()
- Specified by:
missCount
in classCacheMeterBinder
- Returns:
- Get requests that resulted in a "miss", or didn't match an existing cache entry. Monotonically increasing count.
Returns
null
if the cache implementation does not provide a way to track miss count, especially in distributed caches.
-
evictionCount
protected java.lang.Long evictionCount()
- Specified by:
evictionCount
in classCacheMeterBinder
- Returns:
- Total number of entries that have been evicted from the cache. Monotonically increasing eviction count.
Returns
null
if the cache implementation does not support eviction, or does not provide a way to track the eviction count.
-
putCount
protected long putCount()
Description copied from class:CacheMeterBinder
The put mechanism is unimportant - this count applies to entries added to the cache according to a pre-defined load function such as exists in Guava/Caffeine caches as well as manual puts.- Specified by:
putCount
in classCacheMeterBinder
- Returns:
- Total number of entries added to the cache. Monotonically increasing count.
-
bindImplementationSpecificMetrics
protected void bindImplementationSpecificMetrics(MeterRegistry registry)
Description copied from class:CacheMeterBinder
Bind detailed metrics that are particular to the cache implementation, e.g. load duration for Caffeine caches, heap and disk size for EhCache caches. These metrics are above and beyond the basic set of metrics that is common to all caches.- Specified by:
bindImplementationSpecificMetrics
in classCacheMeterBinder
- Parameters:
registry
- The registry to bind metrics to.
-
-