Class JCacheStatisticsMXBean

java.lang.Object
com.github.benmanes.caffeine.jcache.management.JCacheStatisticsMXBean
All Implemented Interfaces:
javax.cache.management.CacheStatisticsMXBean

public final class JCacheStatisticsMXBean extends Object implements javax.cache.management.CacheStatisticsMXBean
Caffeine JCache statistics.
  • Field Details

    • puts

      private final LongAdder puts
    • hits

      private final LongAdder hits
    • misses

      private final LongAdder misses
    • removals

      private final LongAdder removals
    • evictions

      private final LongAdder evictions
    • putTimeNanos

      private final LongAdder putTimeNanos
    • getTimeNanos

      private final LongAdder getTimeNanos
    • removeTimeNanos

      private final LongAdder removeTimeNanos
    • enabled

      private volatile boolean enabled
  • Constructor Details

    • JCacheStatisticsMXBean

      public JCacheStatisticsMXBean()
  • Method Details

    • isEnabled

      public boolean isEnabled()
      Returns:
      if statistic collection is enabled.
    • enable

      public void enable(boolean enabled)
      Sets whether the statistic collection is enabled.
      Parameters:
      enabled - whether to collect statistics
    • clear

      public void clear()
      Specified by:
      clear in interface javax.cache.management.CacheStatisticsMXBean
    • getCacheHits

      public long getCacheHits()
      Specified by:
      getCacheHits in interface javax.cache.management.CacheStatisticsMXBean
    • getCacheHitPercentage

      public float getCacheHitPercentage()
      Specified by:
      getCacheHitPercentage in interface javax.cache.management.CacheStatisticsMXBean
    • recordHits

      public void recordHits(@org.checkerframework.checker.index.qual.NonNegative long count)
      Records cache hits. This should be called when a cache request returns a cached value.
      Parameters:
      count - the number of hits to record
    • getCacheMisses

      public long getCacheMisses()
      Specified by:
      getCacheMisses in interface javax.cache.management.CacheStatisticsMXBean
    • getCacheMissPercentage

      public float getCacheMissPercentage()
      Specified by:
      getCacheMissPercentage in interface javax.cache.management.CacheStatisticsMXBean
    • recordMisses

      public void recordMisses(@org.checkerframework.checker.index.qual.NonNegative long count)
      Records cache misses. This should be called when a cache request returns a value that was not found in the cache.
      Parameters:
      count - the number of misses to record
    • getCacheGets

      public long getCacheGets()
      Specified by:
      getCacheGets in interface javax.cache.management.CacheStatisticsMXBean
    • getCachePuts

      public long getCachePuts()
      Specified by:
      getCachePuts in interface javax.cache.management.CacheStatisticsMXBean
    • recordPuts

      public void recordPuts(@org.checkerframework.checker.index.qual.NonNegative long count)
      Records cache insertion and updates.
      Parameters:
      count - the number of writes to record
    • getCacheRemovals

      public long getCacheRemovals()
      Specified by:
      getCacheRemovals in interface javax.cache.management.CacheStatisticsMXBean
    • recordRemovals

      public void recordRemovals(@org.checkerframework.checker.index.qual.NonNegative long count)
      Records cache removals.
      Parameters:
      count - the number of removals to record
    • getCacheEvictions

      public long getCacheEvictions()
      Specified by:
      getCacheEvictions in interface javax.cache.management.CacheStatisticsMXBean
    • recordEvictions

      public void recordEvictions(@org.checkerframework.checker.index.qual.NonNegative long count)
      Records cache evictions.
      Parameters:
      count - the number of evictions to record
    • getAverageGetTime

      public float getAverageGetTime()
      Specified by:
      getAverageGetTime in interface javax.cache.management.CacheStatisticsMXBean
    • recordGetTime

      public void recordGetTime(long durationNanos)
      Records the time to execute get operations. This time does not include the time it takes to load an entry on a cache miss, as specified by the specification.
      Parameters:
      durationNanos - the amount of time in nanoseconds
    • getAveragePutTime

      public float getAveragePutTime()
      Specified by:
      getAveragePutTime in interface javax.cache.management.CacheStatisticsMXBean
    • recordPutTime

      public void recordPutTime(long durationNanos)
      Records the time to execute put operations.
      Parameters:
      durationNanos - the amount of time in nanoseconds
    • getAverageRemoveTime

      public float getAverageRemoveTime()
      Specified by:
      getAverageRemoveTime in interface javax.cache.management.CacheStatisticsMXBean
    • recordRemoveTime

      public void recordRemoveTime(long durationNanos)
      Records the time to execute remove operations.
      Parameters:
      durationNanos - the amount of time in nanoseconds
    • average

      private static float average(long requestCount, long opsTimeNanos)