The metrics-ehcache module provides InstrumentedEhcache, a decorator for Ehcache caches:
final Cache c = new Cache(new CacheConfiguration("test", 100));
MANAGER.addCache(c);
this.cache = InstrumentedEhcache.instrument(c);
Instrumenting an Ehcache instance creates gauges for all of the Ehcache-provided statistics:
hits | The number of times a requested item was found in the cache. |
in-memory-hits | Number of times a requested item was found in the memory store. |
off-heap-hits | Number of times a requested item was found in the off-heap store. |
on-disk-hits | Number of times a requested item was found in the disk store. |
misses | Number of times a requested item was not found in the cache. |
in-memory-misses | Number of times a requested item was not found in the memory store. |
off-heap-misses | Number of times a requested item was not found in the off-heap store. |
on-disk-misses | Number of times a requested item was not found in the disk store. |
objects | Number of elements stored in the cache. |
in-memory-objects | Number of objects in the memory store. |
off-heap-objects | Number of objects in the off-heap store. |
on-disk-objects | Number of objects in the disk store. |
mean-get-time | The average get time. Because ehcache supports JDK1.4.2, each get time uses System.currentTimeMillis(), rather than nanoseconds. The accuracy is thus limited. |
mean-search-time | The average execution time (in milliseconds) within the last sample period. |
eviction-count | The number of cache evictions, since the cache was created, or statistics were cleared. |
searches-per-second | The number of search executions that have completed in the last second. |
accuracy | A human readable description of the accuracy setting. One of “None”, “Best Effort” or “Guaranteed”. |
It also adds full timers for the cache’s get and put methods.
The metrics are all scoped to the cache’s name.
If you’re using an ehcache.xml to configure your cache, you can instrument it by using InstrumentedEhcacheFactory:
<cacheDecoratorFactory class="com.yammer.metrics.ehcache.InstrumentedEhcacheFactory" />