java.lang.Object
javax.management.StandardMBean
org.apache.jackrabbit.oak.commons.jmx.AnnotatedStandardMBean
org.apache.jackrabbit.oak.plugins.document.persistentCache.PersistentCacheStats
All Implemented Interfaces:
DynamicMBean, MBeanRegistration, CacheStatsMBean, PersistentCacheStatsMBean

public class PersistentCacheStats extends AnnotatedStandardMBean implements PersistentCacheStatsMBean
Persistence Cache Statistics.
  • Constructor Details

  • Method Details

    • markHit

      public void markHit()
    • markRequest

      public void markRequest()
    • markException

      public void markException()
    • markPut

      public void markPut()
    • markRecvBroadcast

      public void markRecvBroadcast()
    • markInvalidateOne

      public void markInvalidateOne()
    • markInvalidateAll

      public void markInvalidateAll()
    • markPutRejectedAlreadyPersisted

      public void markPutRejectedAlreadyPersisted()
    • markPutRejectedEntryNotUsed

      public void markPutRejectedEntryNotUsed()
    • markPutRejectedAsCachedInSecondary

      public void markPutRejectedAsCachedInSecondary()
    • markPutRejectedQueueFull

      public void markPutRejectedQueueFull()
    • startReadTimer

      public TimerStats.Context startReadTimer()
    • startLoaderTimer

      public TimerStats.Context startLoaderTimer()
    • addWriteGeneration

      public void addWriteGeneration(int generation)
    • removeReadGeneration

      public void removeReadGeneration(int generation)
    • markBytesWritten

      public void markBytesWritten(long numBytes)
    • getName

      public String getName()
      Specified by:
      getName in interface CacheStatsMBean
    • getRequestCount

      public long getRequestCount()
      Description copied from interface: CacheStatsMBean
      Returns the number of times org.apache.jackrabbit.guava.common.cache.Cache lookup methods have returned either a cached or uncached value. This is defined as getHitCount + getMissCount.
      Specified by:
      getRequestCount in interface CacheStatsMBean
    • getHitCount

      public long getHitCount()
      Description copied from interface: CacheStatsMBean
      Returns the number of times org.apache.jackrabbit.guava.common.cache.Cache lookup methods have returned a cached value.
      Specified by:
      getHitCount in interface CacheStatsMBean
    • getHitRate

      public double getHitRate()
      Description copied from interface: CacheStatsMBean
      Returns the ratio of cache requests which were hits. This is defined as getHitCount / getRequestCount, or 1.0 when getRequestCount == 0. Note that getHitRate + getMissRate =~ 1.0.
      Specified by:
      getHitRate in interface CacheStatsMBean
    • getMissCount

      public long getMissCount()
      Description copied from interface: CacheStatsMBean
      Returns the number of times org.apache.jackrabbit.guava.common.cache.Cache lookup methods have returned an uncached (newly loaded) value, or null. Multiple concurrent calls to org.apache.jackrabbit.guava.common.cache.Cache lookup methods on an absent value can result in multiple misses, all returning the results of a single cache load operation.
      Specified by:
      getMissCount in interface CacheStatsMBean
    • getMissRate

      public double getMissRate()
      Description copied from interface: CacheStatsMBean
      Returns the ratio of cache requests which were misses. This is defined as getMissCount / getRequestCount, or 0.0 when getRequestCount == 0. Note that getHitRate + getMissRate =~ 1.0. Cache misses include all requests which weren't cache hits, including requests which resulted in either successful or failed loading attempts, and requests which waited for other threads to finish loading. It is thus the case that getMissCount >= getLoadSuccessCount + getLoadExceptionCount. Multiple concurrent misses for the same key will result in a single load operation.
      Specified by:
      getMissRate in interface CacheStatsMBean
    • getLoadCount

      public long getLoadCount()
      Description copied from interface: CacheStatsMBean
      Returns the total number of times that org.apache.jackrabbit.guava.common.cache.Cache lookup methods attempted to load new values. This includes both successful load operations, as well as those that threw exceptions. This is defined as getLoadSuccessCount + getLoadExceptionCount.
      Specified by:
      getLoadCount in interface CacheStatsMBean
    • getLoadSuccessCount

      public long getLoadSuccessCount()
      Description copied from interface: CacheStatsMBean
      Returns the number of times org.apache.jackrabbit.guava.common.cache.Cache lookup methods have successfully loaded a new value. This is always incremented in conjunction with CacheStatsMBean.getMissCount(), though getMissCount is also incremented when an exception is encountered during cache loading (see CacheStatsMBean.getLoadExceptionCount()). Multiple concurrent misses for the same key will result in a single load operation.
      Specified by:
      getLoadSuccessCount in interface CacheStatsMBean
    • getLoadExceptionCount

      public long getLoadExceptionCount()
      Description copied from interface: CacheStatsMBean
      Returns the number of times org.apache.jackrabbit.guava.common.cache.Cache lookup methods threw an exception while loading a new value. This is always incremented in conjunction with getMissCount, though getMissCount is also incremented when cache loading completes successfully (see CacheStatsMBean.getLoadSuccessCount()). Multiple concurrent misses for the same key will result in a single load operation.
      Specified by:
      getLoadExceptionCount in interface CacheStatsMBean
    • getLoadExceptionRate

      public double getLoadExceptionRate()
      Description copied from interface: CacheStatsMBean
      Returns the ratio of cache loading attempts which threw exceptions. This is defined as getLoadExceptionCount / (getLoadSuccessCount + getLoadExceptionCount), or 0.0 when getLoadSuccessCount + getLoadExceptionCount == 0.
      Specified by:
      getLoadExceptionRate in interface CacheStatsMBean
    • estimateCurrentWeight

      public long estimateCurrentWeight()
      Description copied from interface: CacheStatsMBean
      Total weight of the complete cache. Depending on implementation it might be the amount of RAM taken by the cache
      Specified by:
      estimateCurrentWeight in interface CacheStatsMBean
      Returns:
      to weight of the cache
    • getRequestRateHistory

      public CompositeData getRequestRateHistory()
      Specified by:
      getRequestRateHistory in interface PersistentCacheStatsMBean
    • getHitRateHistory

      public CompositeData getHitRateHistory()
      Specified by:
      getHitRateHistory in interface PersistentCacheStatsMBean
    • getLoadRateHistory

      public CompositeData getLoadRateHistory()
      Specified by:
      getLoadRateHistory in interface PersistentCacheStatsMBean
    • getLoadExceptionRateHistory

      public CompositeData getLoadExceptionRateHistory()
      Specified by:
      getLoadExceptionRateHistory in interface PersistentCacheStatsMBean
    • getHitPercentageHistory

      public CompositeData getHitPercentageHistory()
      Specified by:
      getHitPercentageHistory in interface PersistentCacheStatsMBean
    • getPutRateHistory

      public CompositeData getPutRateHistory()
      Specified by:
      getPutRateHistory in interface PersistentCacheStatsMBean
    • getPutRejectedAlreadyPersistedRateHistory

      public CompositeData getPutRejectedAlreadyPersistedRateHistory()
      Specified by:
      getPutRejectedAlreadyPersistedRateHistory in interface PersistentCacheStatsMBean
    • getPutRejectedEntryNotUsedRateHistory

      public CompositeData getPutRejectedEntryNotUsedRateHistory()
      Specified by:
      getPutRejectedEntryNotUsedRateHistory in interface PersistentCacheStatsMBean
    • getPutRejectedQueueFullRateHistory

      public CompositeData getPutRejectedQueueFullRateHistory()
      Specified by:
      getPutRejectedQueueFullRateHistory in interface PersistentCacheStatsMBean
    • getPutRejectedAsCachedInSecRateHistory

      public CompositeData getPutRejectedAsCachedInSecRateHistory()
      Specified by:
      getPutRejectedAsCachedInSecRateHistory in interface PersistentCacheStatsMBean
    • getInvalidateOneRateHistory

      public CompositeData getInvalidateOneRateHistory()
      Specified by:
      getInvalidateOneRateHistory in interface PersistentCacheStatsMBean
    • getInvalidateAllRateHistory

      public CompositeData getInvalidateAllRateHistory()
      Specified by:
      getInvalidateAllRateHistory in interface PersistentCacheStatsMBean
    • getBroadcastRecvRateHistory

      public CompositeData getBroadcastRecvRateHistory()
      Specified by:
      getBroadcastRecvRateHistory in interface PersistentCacheStatsMBean
    • getUsedSpaceHistory

      public CompositeData getUsedSpaceHistory()
      Specified by:
      getUsedSpaceHistory in interface PersistentCacheStatsMBean
    • cacheInfoAsString

      public String cacheInfoAsString()
      Description copied from interface: CacheStatsMBean
      Gathers the stats of the cache for logging.
      Specified by:
      cacheInfoAsString in interface CacheStatsMBean
      Specified by:
      cacheInfoAsString in interface PersistentCacheStatsMBean
    • getTotalLoadTime

      public long getTotalLoadTime()
      Description copied from interface: CacheStatsMBean
      Returns the total number of nanoseconds the cache has spent loading new values. This can be used to calculate the miss penalty. This value is increased every time getLoadSuccessCount or getLoadExceptionCount is incremented.
      Specified by:
      getTotalLoadTime in interface CacheStatsMBean
    • getAverageLoadPenalty

      public double getAverageLoadPenalty()
      Description copied from interface: CacheStatsMBean
      Returns the average time spent loading new values. This is defined as getTotalLoadTime / (getLoadSuccessCount + getLoadExceptionCount).
      Specified by:
      getAverageLoadPenalty in interface CacheStatsMBean
    • getEvictionCount

      public long getEvictionCount()
      Description copied from interface: CacheStatsMBean
      Returns the number of times an entry has been evicted. This count does not include manual org.apache.jackrabbit.guava.common.cache.Cache#invalidate invalidations.
      Specified by:
      getEvictionCount in interface CacheStatsMBean
    • getElementCount

      public long getElementCount()
      Description copied from interface: CacheStatsMBean
      Get the number of elements/objects in the cache.
      Specified by:
      getElementCount in interface CacheStatsMBean
      Returns:
      the number of elements
    • getMaxTotalWeight

      public long getMaxTotalWeight()
      Description copied from interface: CacheStatsMBean
      The maximum weight of entries the cache may contain.
      Specified by:
      getMaxTotalWeight in interface CacheStatsMBean
      Returns:
      the maximum total weight of entries the cache may contain
    • resetStats

      public void resetStats()
      Description copied from interface: CacheStatsMBean
      Reset the cache stats
      Specified by:
      resetStats in interface CacheStatsMBean