Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.common.cache
Interface AbstractCache.StatsCounter

All Known Implementing Classes:
  AbstractCache.SimpleStatsCounter

Enclosing class:
  AbstractCache<K,V>

    @Beta
    public static interface AbstractCache.StatsCounter

Accumulates statistics during the operation of a `Cache` for presentation by `Cache.stats()`. This is solely intended for consumption by `Cache` implementors.

Since:
  10.0

Method Summary
`void` | `recordConcurrentMiss()` Records a single concurrent miss.
`void` | `recordEviction()` Records the eviction of an entry from the cache.
`void` | `recordHit()` Records a single hit.
`void` | `recordLoadException(long loadTime)` Records the failed load of a new entry.
`void` | `recordLoadSuccess(long loadTime)` Records the successful load of a new entry.
`CacheStats` | `snapshot()` Returns a snapshot of this counter's values.

Method Detail

### recordHit

    void recordHit()

  Records a single hit. This should be called when a cache request returns a cached value.

### recordLoadSuccess

    void recordLoadSuccess(long loadTime)

  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 succesfully. In contrast to `recordConcurrentMiss()`, this method should only be called by the loading thread.

  Parameters:
    `loadTime` - the number of nanoseconds the cache spent computing or retrieving the new value

### recordLoadException

    void recordLoadException(long loadTime)

  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 `recordConcurrentMiss()`, this method should only be called by the loading thread.

  Parameters:
    `loadTime` - the number of nanoseconds the cache spent computing or retrieving the new value prior to an exception being thrown

### recordConcurrentMiss

    void recordConcurrentMiss()

  Records a single concurrent miss. This should be called when a cache request returns a value which was loaded by a different thread. In contrast to `recordLoadSuccess(long)` and `recordLoadException(long)`, this method should never be called by the loading thread. 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.

### recordEviction

    void recordEviction()

  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.

### snapshot

    CacheStats snapshot()

  Returns a snapshot of this counter's values. Note that this may be an inconsistent view, as it may be interleaved with update operations.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010-2011. All Rights Reserved.