## com.google.common.cache
Class AbstractCache.SimpleStatsCounter

    java.lang.Object
      com.google.common.cache.AbstractCache.SimpleStatsCounter

All Implemented Interfaces:
  AbstractCache.StatsCounter

Enclosing class:
  AbstractCache<K,V>

    @Beta
    public static final class AbstractCache.SimpleStatsCounter

extends Object
implements AbstractCache.StatsCounter

A thread-safe `AbstractCache.StatsCounter` implementation for use by `Cache` implementors.

Since:
  10.0

Constructor Summary
`AbstractCache.SimpleStatsCounter()` Constructs an instance with all counts initialized to zero.

Method Summary
`void` `incrementBy(AbstractCache.StatsCounter other)` Increments all counters by the values in `other`.
`void` `recordEviction()` Records the eviction of an entry from the cache.
`void` `recordHits(int count)` Records cache hits.
`void` `recordLoadException(long loadTime)` Records the failed load of a new entry.
`void` `recordLoadSuccess(long loadTime)` Records the successful load of a new entry.
`void` `recordMisses(int count)` Records cache misses.
`CacheStats` `snapshot()` Returns a snapshot of this counter's values.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AbstractCache.SimpleStatsCounter

    public AbstractCache.SimpleStatsCounter()

  Constructs an instance with all counts initialized to zero.

Method Detail

### recordHits

    public void recordHits(int count)

  Description copied from interface: `AbstractCache.StatsCounter`
  Records cache hits. This should be called when a cache request returns a cached value.

  Specified by:
    `recordHits` in interface `AbstractCache.StatsCounter`
  Parameters:
    `count` - the number of hits to record
  Since:
    11.0

### recordMisses

    public void recordMisses(int count)

  Description copied from interface: `AbstractCache.StatsCounter`
  Records cache misses. This should be called when a cache request returns a value that was not found in the cache. This method should be called by the loading thread, as well as by threads blocking on the load. Multiple concurrent calls to `Cache` lookup methods with the same key on an absent value should result in a single call to either `recordLoadSuccess` or `recordLoadException` and multiple calls to this method, despite all being served by the results of a single load operation.

  Specified by:
    `recordMisses` in interface `AbstractCache.StatsCounter`
  Parameters:
    `count` - the number of misses to record
  Since:
    11.0

### recordLoadSuccess

    public void recordLoadSuccess(long loadTime)

  Description copied from interface: `AbstractCache.StatsCounter`
  Records the successful load of a new entry. This should be called when a cache request causes an entry to be loaded, and the loading completes successfully. In contrast to `AbstractCache.StatsCounter.recordMisses(int)`, this method should only be called by the loading thread.

  Specified by:
    `recordLoadSuccess` in interface `AbstractCache.StatsCounter`
  Parameters:
    `loadTime` - the number of nanoseconds the cache spent computing or retrieving the new value

### recordLoadException

    public void recordLoadException(long loadTime)

  Description copied from interface: `AbstractCache.StatsCounter`
  Records the failed load of a new entry. This should be called when a cache request causes an entry to be loaded, but an exception is thrown while loading the entry. In contrast to `AbstractCache.StatsCounter.recordMisses(int)`, this method should only be called by the loading thread.

  Specified by:
    `recordLoadException` in interface `AbstractCache.StatsCounter`
  Parameters:
    `loadTime` - the number of nanoseconds the cache spent computing or retrieving the new value prior to an exception being thrown

### recordEviction

    public void recordEviction()

  Description copied from interface: `AbstractCache.StatsCounter`
  Records the eviction of an entry from the cache. This should only been called when an entry is evicted due to the cache's eviction strategy, and not as a result of manual invalidations.

  Specified by:
    `recordEviction` in interface `AbstractCache.StatsCounter`

### snapshot

    public CacheStats snapshot()

  Description copied from interface: `AbstractCache.StatsCounter`
  Returns a snapshot of this counter's values. Note that this may be an inconsistent view, as it may be interleaved with update operations.

  Specified by:
    `snapshot` in interface `AbstractCache.StatsCounter`

### incrementBy

    public void incrementBy(AbstractCache.StatsCounter other)

  Increments all counters by the values in `other`.

Copyright © 2010-2012. All Rights Reserved.