Package javax.cache

Interface CacheStatistics

  • All Known Subinterfaces:
    CacheMXBean, CacheStatisticsMXBean
    All Known Implementing Classes:
    CacheMXBeanImpl, CacheStatisticsImpl

    public interface CacheStatistics
    Cache statistics.

    Statistics are accumulated from the time a cache is created. They can be reset to zero using clear().

    There are no defined consistency semantics for statistics. Refer to the implementation for precise semantics.

    Since:
    1.0
    Author:
    Greg Luck
    • Method Detail

      • clear

        void clear()
        Clears the statistics counters to 0 for the associated Cache.
      • getStartAccumulationDate

        Date getStartAccumulationDate()
        The date from which statistics have been accumulated. Because statistics can be cleared, this is not necessarily since the cache was started.
        Returns:
        the date statistics started being accumulated
      • getCacheHits

        long getCacheHits()
        The number of get requests that were satisfied by the cache.

        In a caches with multiple tiered storage, a hit may be implemented as a hit to the cache or to the first tier.

        Returns:
        the number of hits
      • getCacheHitPercentage

        float getCacheHitPercentage()
        This is a measure of cache efficiency.

        It is calculated as getCacheHits() divided by getCacheGets() * 100.

        Returns:
        the percentage of successful hits, as a decimal e.g 75.
      • getCacheMisses

        long getCacheMisses()
        A miss is a get request which is not satisfied.

        In a simple cache a miss occurs when the cache does not satisfy the request.

        In a caches with multiple tiered storage, a miss may be implemented as a miss to the cache or to the first tier.

        In a read-through cache a miss is an absence of the key in the cache which will trigger a call to a CacheLoader. So it is still a miss even though the cache will load and return the value.

        Refer to the implementation for precise semantics.

        Returns:
        the number of misses
      • getCacheMissPercentage

        float getCacheMissPercentage()
        Returns the percentage of cache accesses that did not find a requested entry in the cache.

        This is calculated as getCacheMisses() divided by getCacheGets() * 100.

        Returns:
        the percentage of accesses that failed to find anything
      • getCacheGets

        long getCacheGets()
        The total number of requests to the cache. This will be equal to the sum of the hits and misses.

        A "get" is an operation that returns the current or previous value. It does not include checking for the existence of a key.

        In a caches with multiple tiered storage, a gets may be implemented as a get to the cache or to the first tier.

        Returns:
        the number of gets
      • getCachePuts

        long getCachePuts()
        The total number of puts to the cache.

        A put is counted even if it is immediately evicted.

        Replaces, where a put occurs which overrides an existing mapping is counted as a put.

        Returns:
        the number of hits
      • getCacheRemovals

        long getCacheRemovals()
        The total number of removals from the cache. This does not include evictions, where the cache itself initiates the removal to make space.
        Returns:
        the number of hits
      • getCacheEvictions

        long getCacheEvictions()
        The total number of evictions from the cache. An eviction is a removal initiated by the cache itself to free up space. An eviction is not treated as a removal and does not appear in the removal counts.
        Returns:
        the number of evictions from the cache
      • getAverageGetMillis

        float getAverageGetMillis()
        The mean time to execute gets.

        In a read-through cache the time taken to load an entry on miss is not included in get time.

        Returns:
        the time in milliseconds
      • getAveragePutMillis

        float getAveragePutMillis()
        The mean time to execute puts.
        Returns:
        the time in milliseconds
      • getAverageRemoveMillis

        float getAverageRemoveMillis()
        The mean time to execute removes.
        Returns:
        the time in milliseconds