Class InstrumentedEhcache

java.lang.Object
net.sf.ehcache.constructs.EhcacheDecoratorAdapter
com.codahale.metrics.ehcache.InstrumentedEhcache
All Implemented Interfaces:
Cloneable, net.sf.ehcache.Ehcache, net.sf.ehcache.terracotta.InternalEhcache

public class InstrumentedEhcache extends net.sf.ehcache.constructs.EhcacheDecoratorAdapter
An instrumented Ehcache instance.
  • Field Summary

    Fields inherited from class net.sf.ehcache.constructs.EhcacheDecoratorAdapter

    underlyingCache
  • Method Summary

    Modifier and Type
    Method
    Description
    net.sf.ehcache.Element
     
    net.sf.ehcache.Element
    get(Object key)
     
    static net.sf.ehcache.Ehcache
    instrument(com.codahale.metrics.MetricRegistry registry, net.sf.ehcache.Ehcache cache)
    Instruments the given Ehcache instance with get and put timers and a set of gauges for Ehcache's built-in statistics:
    void
    put(net.sf.ehcache.Element element)
     
    void
    put(net.sf.ehcache.Element element, boolean doNotNotifyCacheReplicators)
     
    net.sf.ehcache.Element
    putIfAbsent(net.sf.ehcache.Element element)
     

    Methods inherited from class net.sf.ehcache.constructs.EhcacheDecoratorAdapter

    acquireReadLockOnKey, acquireWriteLockOnKey, addPropertyChangeListener, bootstrap, calculateInMemorySize, calculateOffHeapSize, calculateOnDiskSize, clone, createQuery, disableDynamicFeatures, dispose, evictExpiredElements, flush, getAll, getAllWithLoader, getBootstrapCacheLoader, getCacheConfiguration, getCacheEventNotificationService, getCacheExceptionHandler, getCacheManager, getDiskStoreSize, getGuid, getInternalContext, getKeys, getKeysNoDuplicateCheck, getKeysWithExpiryCheck, getMemoryStoreSize, getName, getOffHeapStoreSize, getQuiet, getQuiet, getRegisteredCacheExtensions, getRegisteredCacheLoaders, getRegisteredCacheWriter, getSearchAttribute, getSearchAttributes, getSize, getStatistics, getStatus, getWithLoader, getWriterManager, hasAbortedSizeOf, initialise, isClusterBulkLoadEnabled, isClusterCoherent, isDisabled, isElementInMemory, isElementInMemory, isElementOnDisk, isElementOnDisk, isExpired, isKeyInCache, isNodeBulkLoadEnabled, isNodeCoherent, isReadLockedByCurrentThread, isSearchable, isValueInCache, isWriteLockedByCurrentThread, load, loadAll, putAll, putIfAbsent, putQuiet, putWithWriter, recalculateSize, registerCacheExtension, registerCacheLoader, registerCacheWriter, registerDynamicAttributesExtractor, releaseReadLockOnKey, releaseWriteLockOnKey, remove, remove, remove, remove, removeAll, removeAll, removeAll, removeAll, removeAndReturnElement, removeElement, removePropertyChangeListener, removeQuiet, removeQuiet, removeWithWriter, replace, replace, setBootstrapCacheLoader, setCacheExceptionHandler, setCacheManager, setDisabled, setName, setNodeBulkLoadEnabled, setNodeCoherent, setTransactionManagerLookup, toString, tryReadLockOnKey, tryWriteLockOnKey, unregisterCacheExtension, unregisterCacheLoader, unregisterCacheWriter, waitUntilClusterBulkLoadComplete, waitUntilClusterCoherent

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Method Details

    • instrument

      public static net.sf.ehcache.Ehcache instrument(com.codahale.metrics.MetricRegistry registry, net.sf.ehcache.Ehcache cache)
      Instruments the given Ehcache instance with get and put timers and a set of gauges for Ehcache's built-in statistics:

      Ehcache timered metrics
      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 support 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".

      N.B.: This enables Ehcache's sampling statistics with an accuracy level of "none."

      Parameters:
      cache - an Ehcache instance
      registry - a MetricRegistry
      Returns:
      an instrumented decorator for cache
      See Also:
      • StatisticsGateway
    • get

      public net.sf.ehcache.Element get(Object key) throws IllegalStateException, net.sf.ehcache.CacheException
      Specified by:
      get in interface net.sf.ehcache.Ehcache
      Overrides:
      get in class net.sf.ehcache.constructs.EhcacheDecoratorAdapter
      Throws:
      IllegalStateException
      net.sf.ehcache.CacheException
    • get

      public net.sf.ehcache.Element get(Serializable key) throws IllegalStateException, net.sf.ehcache.CacheException
      Specified by:
      get in interface net.sf.ehcache.Ehcache
      Overrides:
      get in class net.sf.ehcache.constructs.EhcacheDecoratorAdapter
      Throws:
      IllegalStateException
      net.sf.ehcache.CacheException
    • put

      public void put(net.sf.ehcache.Element element) throws IllegalArgumentException, IllegalStateException, net.sf.ehcache.CacheException
      Specified by:
      put in interface net.sf.ehcache.Ehcache
      Overrides:
      put in class net.sf.ehcache.constructs.EhcacheDecoratorAdapter
      Throws:
      IllegalArgumentException
      IllegalStateException
      net.sf.ehcache.CacheException
    • put

      public void put(net.sf.ehcache.Element element, boolean doNotNotifyCacheReplicators) throws IllegalArgumentException, IllegalStateException, net.sf.ehcache.CacheException
      Specified by:
      put in interface net.sf.ehcache.Ehcache
      Overrides:
      put in class net.sf.ehcache.constructs.EhcacheDecoratorAdapter
      Throws:
      IllegalArgumentException
      IllegalStateException
      net.sf.ehcache.CacheException
    • putIfAbsent

      public net.sf.ehcache.Element putIfAbsent(net.sf.ehcache.Element element) throws NullPointerException
      Specified by:
      putIfAbsent in interface net.sf.ehcache.Ehcache
      Overrides:
      putIfAbsent in class net.sf.ehcache.constructs.EhcacheDecoratorAdapter
      Throws:
      NullPointerException