Class JCacheStatisticsMXBean

  • All Implemented Interfaces:
    javax.cache.management.CacheStatisticsMXBean

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

      • puts

        private final java.util.concurrent.atomic.LongAdder puts
      • hits

        private final java.util.concurrent.atomic.LongAdder hits
      • misses

        private final java.util.concurrent.atomic.LongAdder misses
      • removals

        private final java.util.concurrent.atomic.LongAdder removals
      • evictions

        private final java.util.concurrent.atomic.LongAdder evictions
      • putTimeNanos

        private final java.util.concurrent.atomic.LongAdder putTimeNanos
      • getTimeNanos

        private final java.util.concurrent.atomic.LongAdder getTimeNanos
      • removeTimeNanos

        private final java.util.concurrent.atomic.LongAdder removeTimeNanos
      • enabled

        private volatile boolean enabled
    • Constructor Detail

      • JCacheStatisticsMXBean

        public JCacheStatisticsMXBean()
    • Method Detail

      • 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)