org.apache.ignite.internal.processors.cache

## Class CacheMetricsSnapshot

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.CacheMetricsSnapshot

All Implemented Interfaces:
  Externalizable, Serializable, CacheMetrics

    public class CacheMetricsSnapshot
    extends Object
    implements CacheMetrics, Externalizable

Metrics snapshot.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`CacheMetricsSnapshot()` Default constructor.
`CacheMetricsSnapshot(CacheMetrics m)` Create snapshot for given metrics.
`CacheMetricsSnapshot(CacheMetrics loc, Collection<CacheMetrics> metrics)` Constructs merged cache metrics.

### Method Summary

Methods
`float` `getAverageGetTime()` The mean time to execute gets.
`float` `getAveragePutTime()` The mean time to execute puts.
`float` `getAverageRemoveTime()` The mean time to execute removes.
`float` `getAverageTxCommitTime()` The mean time to execute tx commit.
`float` `getAverageTxRollbackTime()` The mean time to execute tx rollbacks.
`long` `getCacheEvictions()` The total number of evictions from the cache.
`long` `getCacheGets()` The total number of requests to the cache.
`float` `getCacheHitPercentage()` This is a measure of cache efficiency.
`long` `getCacheHits()` The number of get requests that were satisfied by the cache.
`long` `getCacheMisses()` A miss is a get request that is not satisfied.
`float` `getCacheMissPercentage()` Returns the percentage of cache accesses that did not find a requested entry in the cache.
`long` `getCachePuts()` The total number of puts to the cache.
`long` `getCacheRemovals()` The total number of removals from the cache.
`long` `getCacheTxCommits()` Gets total number of transaction commits.
`long` `getCacheTxRollbacks()` Gets total number of transaction rollbacks.
`int` `getDhtEvictQueueCurrentSize()` Gets current size of evict queue used to batch up evictions.
`int` `getKeySize()` Gets number of keys in the cache, possibly with `null` values.
`String` `getKeyType()` Determines the required type of keys for this `Cache`, if any.
`long` `getOffHeapAllocatedSize()` Gets memory size allocated in off-heap.
`long` `getOffHeapBackupEntriesCount()` Gets number of backup entries stored in off-heap memory.
`long` `getOffHeapEntriesCount()` Gets number of entries stored in off-heap memory.
`long` `getOffHeapEvictions()` The total number of evictions from the off-heap memory.
`long` `getOffHeapGets()` The total number of get requests to the off-heap memory.
`float` `getOffHeapHitPercentage()` Gets the percentage of hits on off-heap memory.
`long` `getOffHeapHits()` The number of get requests that were satisfied by the off-heap memory.
`long` `getOffHeapMaxSize()` Gets off-heap memory maximum size.
`long` `getOffHeapMisses()` A miss is a get request that is not satisfied by off-heap memory.
`float` `getOffHeapMissPercentage()` Gets the percentage of misses on off-heap memory.
`long` `getOffHeapPrimaryEntriesCount()` Gets number of primary entries stored in off-heap memory.
`long` `getOffHeapPuts()` The total number of put requests to the off-heap memory.
`long` `getOffHeapRemovals()` The total number of removals from the off-heap memory.
`long` `getOverflowSize()` Gets number of entries that was swapped to disk.
`int` `getSize()` Gets number of non-`null` values in the cache.
`long` `getSwapEntriesCount()` Gets number of entries stored in swap.
`long` `getSwapGets()` The total number of get requests to the swap.
`float` `getSwapHitPercentage()` Gets the percentage of hits on swap.
`long` `getSwapHits()` The number of get requests that were satisfied by the swap.
`long` `getSwapMisses()` A miss is a get request that is not satisfied by swap.
`float` `getSwapMissPercentage()` Gets the percentage of misses on swap.
`long` `getSwapPuts()` The total number of put requests to the swap.
`long` `getSwapRemovals()` The total number of removals from the swap.
`long` `getSwapSize()` Gets size of swap.
`int` `getTxCommitQueueSize()` Gets committed transaction queue size.
`int` `getTxCommittedVersionsSize()` Gets number of cached committed transaction IDs.
`int` `getTxDhtCommitQueueSize()` Gets committed DHT transaction queue size.
`int` `getTxDhtCommittedVersionsSize()` Gets number of cached committed DHT transaction IDs.
`int` `getTxDhtPrepareQueueSize()` Gets prepared DHT transaction queue size.
`int` `getTxDhtRolledbackVersionsSize()` Gets number of cached rolled back DHT transaction IDs.
`int` `getTxDhtStartVersionCountsSize()` Gets DHT start version counts map size.
`int` `getTxDhtThreadMapSize()` Gets transaction DHT per-thread map size.
`int` `getTxDhtXidMapSize()` Gets transaction DHT per-Xid map size.
`int` `getTxPrepareQueueSize()` Gets prepared transaction queue size.
`int` `getTxRolledbackVersionsSize()` Gets number of cached rolled back transaction IDs.
`int` `getTxStartVersionCountsSize()` Gets start version counts map size.
`int` `getTxThreadMapSize()` Gets transaction per-thread map size.
`int` `getTxXidMapSize()` Gets transaction per-Xid map size.
`String` `getValueType()` Determines the required type of values for this `Cache`, if any.
`int` `getWriteBehindBufferSize()` Gets count of entries that were processed by the write-behind store and have not been flushed to the underlying store yet.
`int` `getWriteBehindCriticalOverflowCount()` Gets count of write buffer overflow events in progress at the moment.
`int` `getWriteBehindErrorRetryCount()` Gets count of cache entries that are in a store-retry state.
`long` `getWriteBehindFlushFrequency()` Gets the cache flush frequency.
`int` `getWriteBehindFlushSize()` Gets the maximum size of the write-behind buffer.
`int` `getWriteBehindFlushThreadCount()` Gets the number of flush threads that will perform store update operations.
`int` `getWriteBehindStoreBatchSize()` Gets the maximum count of similar (put or remove) operations that can be grouped to a single batch.
`int` `getWriteBehindTotalCriticalOverflowCount()` Gets count of write buffer overflow events since initialization.
`boolean` `isEmpty()` Returns `true` if this cache is empty.
`boolean` `isManagementEnabled()` Checks whether management is enabled on this cache.
`boolean` `isReadThrough()` Determines if a `Cache` should operate in read-through mode.
`boolean` `isStatisticsEnabled()` Checks whether statistics collection is enabled in this cache.
`boolean` `isStoreByValue()` Whether storeByValue `true` or storeByReference `false`.
`boolean` `isWriteBehindEnabled()` Returns `true` if write-behind is enabled.
`boolean` `isWriteThrough()` Determines if a `Cache` should operate in "write-through" mode.
`String` `name()` Gets name of this cache.
`void` `readExternal(ObjectInput in)`
`String` `toString()`
`void` `writeExternal(ObjectOutput out)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### CacheMetricsSnapshot

    public CacheMetricsSnapshot()

Default constructor.

#### CacheMetricsSnapshot

    public CacheMetricsSnapshot(CacheMetrics m)

Create snapshot for given metrics.

Parameters:
  `m` - Cache metrics.

#### CacheMetricsSnapshot

    public CacheMetricsSnapshot(CacheMetrics loc,
                        Collection<CacheMetrics> metrics)

Constructs merged cache metrics.

Parameters:
  `loc` - Metrics for cache on local node.
  `metrics` - Metrics for merge.

### Method Detail

#### getCacheHits

    public long getCacheHits()

The number of get requests that were satisfied by the cache.

Specified by:
  `getCacheHits` in interface `CacheMetrics`
Returns:
  The number of hits.

#### getCacheHitPercentage

    public float getCacheHitPercentage()

This is a measure of cache efficiency.

Specified by:
  `getCacheHitPercentage` in interface `CacheMetrics`
Returns:
  The percentage of successful hits, as a decimal e.g 75.

#### getCacheMisses

    public long getCacheMisses()

A miss is a get request that is not satisfied.

Specified by:
  `getCacheMisses` in interface `CacheMetrics`
Returns:
  The number of misses.

#### getCacheMissPercentage

    public float getCacheMissPercentage()

Returns the percentage of cache accesses that did not find a requested entry in the cache.

Specified by:
  `getCacheMissPercentage` in interface `CacheMetrics`
Returns:
  The percentage of accesses that failed to find anything.

#### getCacheGets

    public long getCacheGets()

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

Specified by:
  `getCacheGets` in interface `CacheMetrics`
Returns:
  The number of gets.

#### getCachePuts

    public long getCachePuts()

The total number of puts to the cache.

Specified by:
  `getCachePuts` in interface `CacheMetrics`
Returns:
  The number of puts.

#### getCacheRemovals

    public 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.

Specified by:
  `getCacheRemovals` in interface `CacheMetrics`
Returns:
  The number of removals.

#### getCacheEvictions

    public 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.

Specified by:
  `getCacheEvictions` in interface `CacheMetrics`
Returns:
  The number of evictions.

#### getAverageGetTime

    public float getAverageGetTime()

The mean time to execute gets.

Specified by:
  `getAverageGetTime` in interface `CacheMetrics`
Returns:
  The time in µs.

#### getAveragePutTime

    public float getAveragePutTime()

The mean time to execute puts.

Specified by:
  `getAveragePutTime` in interface `CacheMetrics`
Returns:
  The time in µs.

#### getAverageRemoveTime

    public float getAverageRemoveTime()

The mean time to execute removes.

Specified by:
  `getAverageRemoveTime` in interface `CacheMetrics`
Returns:
  The time in µs.

#### getAverageTxCommitTime

    public float getAverageTxCommitTime()

The mean time to execute tx commit.

Specified by:
  `getAverageTxCommitTime` in interface `CacheMetrics`
Returns:
  The time in µs.

#### getAverageTxRollbackTime

    public float getAverageTxRollbackTime()

The mean time to execute tx rollbacks.

Specified by:
  `getAverageTxRollbackTime` in interface `CacheMetrics`
Returns:
  Number of transaction rollbacks.

#### getCacheTxCommits

    public long getCacheTxCommits()

Gets total number of transaction commits.

Specified by:
  `getCacheTxCommits` in interface `CacheMetrics`
Returns:
  Number of transaction commits.

#### getCacheTxRollbacks

    public long getCacheTxRollbacks()

Gets total number of transaction rollbacks.

Specified by:
  `getCacheTxRollbacks` in interface `CacheMetrics`
Returns:
  Number of transaction rollbacks.

#### name

    public String name()

Gets name of this cache.

Specified by:
  `name` in interface `CacheMetrics`
Returns:
  Cache name.

#### getOverflowSize

    public long getOverflowSize()

Gets number of entries that was swapped to disk.

Specified by:
  `getOverflowSize` in interface `CacheMetrics`
Returns:
  Number of entries that was swapped to disk.

#### getOffHeapGets

    public long getOffHeapGets()

The total number of get requests to the off-heap memory.

Specified by:
  `getOffHeapGets` in interface `CacheMetrics`
Returns:
  The number of gets.

#### getOffHeapPuts

    public long getOffHeapPuts()

The total number of put requests to the off-heap memory.

Specified by:
  `getOffHeapPuts` in interface `CacheMetrics`
Returns:
  The number of puts.

#### getOffHeapRemovals

    public long getOffHeapRemovals()

The total number of removals from the off-heap memory. This does not include evictions.

Specified by:
  `getOffHeapRemovals` in interface `CacheMetrics`
Returns:
  The number of removals.

#### getOffHeapEvictions

    public long getOffHeapEvictions()

The total number of evictions from the off-heap memory.

Specified by:
  `getOffHeapEvictions` in interface `CacheMetrics`
Returns:
  The number of evictions.

#### getOffHeapHits

    public long getOffHeapHits()

The number of get requests that were satisfied by the off-heap memory.

Specified by:
  `getOffHeapHits` in interface `CacheMetrics`
Returns:
  The off-heap hits number.

#### getOffHeapHitPercentage

    public float getOffHeapHitPercentage()

Gets the percentage of hits on off-heap memory.

Specified by:
  `getOffHeapHitPercentage` in interface `CacheMetrics`
Returns:
  The percentage of hits on off-heap memory.

#### getOffHeapMisses

    public long getOffHeapMisses()

A miss is a get request that is not satisfied by off-heap memory.

Specified by:
  `getOffHeapMisses` in interface `CacheMetrics`
Returns:
  The off-heap misses number.

#### getOffHeapMissPercentage

    public float getOffHeapMissPercentage()

Gets the percentage of misses on off-heap memory.

Specified by:
  `getOffHeapMissPercentage` in interface `CacheMetrics`
Returns:
  The percentage of misses on off-heap memory.

#### getOffHeapEntriesCount

    public long getOffHeapEntriesCount()

Gets number of entries stored in off-heap memory.

Specified by:
  `getOffHeapEntriesCount` in interface `CacheMetrics`
Returns:
  Number of entries stored in off-heap memory.

#### getOffHeapPrimaryEntriesCount

    public long getOffHeapPrimaryEntriesCount()

Gets number of primary entries stored in off-heap memory.

Specified by:
  `getOffHeapPrimaryEntriesCount` in interface `CacheMetrics`
Returns:
  Number of primary entries stored in off-heap memory.

#### getOffHeapBackupEntriesCount

    public long getOffHeapBackupEntriesCount()

Gets number of backup entries stored in off-heap memory.

Specified by:
  `getOffHeapBackupEntriesCount` in interface `CacheMetrics`
Returns:
  Number of backup entries stored in off-heap memory.

#### getOffHeapAllocatedSize

    public long getOffHeapAllocatedSize()

Gets memory size allocated in off-heap.

Specified by:
  `getOffHeapAllocatedSize` in interface `CacheMetrics`
Returns:
  Memory size allocated in off-heap.

#### getOffHeapMaxSize

    public long getOffHeapMaxSize()

Gets off-heap memory maximum size.

Specified by:
  `getOffHeapMaxSize` in interface `CacheMetrics`
Returns:
  Off-heap memory maximum size.

#### getSwapGets

    public long getSwapGets()

The total number of get requests to the swap.

Specified by:
  `getSwapGets` in interface `CacheMetrics`
Returns:
  The number of gets.

#### getSwapPuts

    public long getSwapPuts()

The total number of put requests to the swap.

Specified by:
  `getSwapPuts` in interface `CacheMetrics`
Returns:
  The number of puts.

#### getSwapRemovals

    public long getSwapRemovals()

The total number of removals from the swap.

Specified by:
  `getSwapRemovals` in interface `CacheMetrics`
Returns:
  The number of removals.

#### getSwapHits

    public long getSwapHits()

The number of get requests that were satisfied by the swap.

Specified by:
  `getSwapHits` in interface `CacheMetrics`
Returns:
  The swap hits number.

#### getSwapMisses

    public long getSwapMisses()

A miss is a get request that is not satisfied by swap.

Specified by:
  `getSwapMisses` in interface `CacheMetrics`
Returns:
  The swap misses number.

#### getSwapHitPercentage

    public float getSwapHitPercentage()

Gets the percentage of hits on swap.

Specified by:
  `getSwapHitPercentage` in interface `CacheMetrics`
Returns:
  The percentage of hits on swap.

#### getSwapMissPercentage

    public float getSwapMissPercentage()

Gets the percentage of misses on swap.

Specified by:
  `getSwapMissPercentage` in interface `CacheMetrics`
Returns:
  The percentage of misses on swap.

#### getSwapEntriesCount

    public long getSwapEntriesCount()

Gets number of entries stored in swap.

Specified by:
  `getSwapEntriesCount` in interface `CacheMetrics`
Returns:
  Number of entries stored in swap.

#### getSwapSize

    public long getSwapSize()

Gets size of swap.

Specified by:
  `getSwapSize` in interface `CacheMetrics`
Returns:
  Size of swap.

#### getSize

    public int getSize()

Gets number of non-`null` values in the cache.

Specified by:
  `getSize` in interface `CacheMetrics`
Returns:
  Number of non-`null` values in the cache.

#### getKeySize

    public int getKeySize()

Gets number of keys in the cache, possibly with `null` values.

Specified by:
  `getKeySize` in interface `CacheMetrics`
Returns:
  Number of keys in the cache.

#### isEmpty

    public boolean isEmpty()

Returns `true` if this cache is empty.

Specified by:
  `isEmpty` in interface `CacheMetrics`
Returns:
  `True` if this cache is empty.

#### getDhtEvictQueueCurrentSize

    public int getDhtEvictQueueCurrentSize()

Gets current size of evict queue used to batch up evictions.

Specified by:
  `getDhtEvictQueueCurrentSize` in interface `CacheMetrics`
Returns:
  Current size of evict queue.

#### getTxThreadMapSize

    public int getTxThreadMapSize()

Gets transaction per-thread map size.

Specified by:
  `getTxThreadMapSize` in interface `CacheMetrics`
Returns:
  Thread map size.

#### getTxXidMapSize

    public int getTxXidMapSize()

Gets transaction per-Xid map size.

Specified by:
  `getTxXidMapSize` in interface `CacheMetrics`
Returns:
  Transaction per-Xid map size.

#### getTxCommitQueueSize

    public int getTxCommitQueueSize()

Gets committed transaction queue size.

Specified by:
  `getTxCommitQueueSize` in interface `CacheMetrics`
Returns:
  Committed transaction queue size.

#### getTxPrepareQueueSize

    public int getTxPrepareQueueSize()

Gets prepared transaction queue size.

Specified by:
  `getTxPrepareQueueSize` in interface `CacheMetrics`
Returns:
  Prepared transaction queue size.

#### getTxStartVersionCountsSize

    public int getTxStartVersionCountsSize()

Gets start version counts map size.

Specified by:
  `getTxStartVersionCountsSize` in interface `CacheMetrics`
Returns:
  Start version counts map size.

#### getTxCommittedVersionsSize

    public int getTxCommittedVersionsSize()

Gets number of cached committed transaction IDs.

Specified by:
  `getTxCommittedVersionsSize` in interface `CacheMetrics`
Returns:
  Number of cached committed transaction IDs.

#### getTxRolledbackVersionsSize

    public int getTxRolledbackVersionsSize()

Gets number of cached rolled back transaction IDs.

Specified by:
  `getTxRolledbackVersionsSize` in interface `CacheMetrics`
Returns:
  Number of cached rolled back transaction IDs.

#### getTxDhtThreadMapSize

    public int getTxDhtThreadMapSize()

Gets transaction DHT per-thread map size.

Specified by:
  `getTxDhtThreadMapSize` in interface `CacheMetrics`
Returns:
  DHT thread map size.

#### getTxDhtXidMapSize

    public int getTxDhtXidMapSize()

Gets transaction DHT per-Xid map size.

Specified by:
  `getTxDhtXidMapSize` in interface `CacheMetrics`
Returns:
  Transaction DHT per-Xid map size.

#### getTxDhtCommitQueueSize

    public int getTxDhtCommitQueueSize()

Gets committed DHT transaction queue size.

Specified by:
  `getTxDhtCommitQueueSize` in interface `CacheMetrics`
Returns:
  Committed DHT transaction queue size.

#### getTxDhtPrepareQueueSize

    public int getTxDhtPrepareQueueSize()

Gets prepared DHT transaction queue size.

Specified by:
  `getTxDhtPrepareQueueSize` in interface `CacheMetrics`
Returns:
  Prepared DHT transaction queue size.

#### getTxDhtStartVersionCountsSize

    public int getTxDhtStartVersionCountsSize()

Gets DHT start version counts map size.

Specified by:
  `getTxDhtStartVersionCountsSize` in interface `CacheMetrics`
Returns:
  DHT start version counts map size.

#### getTxDhtCommittedVersionsSize

    public int getTxDhtCommittedVersionsSize()

Gets number of cached committed DHT transaction IDs.

Specified by:
  `getTxDhtCommittedVersionsSize` in interface `CacheMetrics`
Returns:
  Number of cached committed DHT transaction IDs.

#### getTxDhtRolledbackVersionsSize

    public int getTxDhtRolledbackVersionsSize()

Gets number of cached rolled back DHT transaction IDs.

Specified by:
  `getTxDhtRolledbackVersionsSize` in interface `CacheMetrics`
Returns:
  Number of cached rolled back DHT transaction IDs.

#### isWriteBehindEnabled

    public boolean isWriteBehindEnabled()

Returns `true` if write-behind is enabled.

Specified by:
  `isWriteBehindEnabled` in interface `CacheMetrics`
Returns:
  `True` if write-behind is enabled.

#### getWriteBehindFlushSize

    public int getWriteBehindFlushSize()

Gets the maximum size of the write-behind buffer. When the count of unique keys in write buffer exceeds this value, the buffer is scheduled for write to the underlying store.

If this value is `0`, then flush is performed only on time-elapsing basis. However, when this value is `0`, the cache critical size is set to `CacheConfiguration.DFLT_WRITE_BEHIND_CRITICAL_SIZE`

Specified by:
  `getWriteBehindFlushSize` in interface `CacheMetrics`
Returns:
  Buffer size that triggers flush procedure.

#### getWriteBehindFlushThreadCount

    public int getWriteBehindFlushThreadCount()

Gets the number of flush threads that will perform store update operations.

Specified by:
  `getWriteBehindFlushThreadCount` in interface `CacheMetrics`
Returns:
  Count of worker threads.

#### getWriteBehindFlushFrequency

    public long getWriteBehindFlushFrequency()

Gets the cache flush frequency. All pending operations on the underlying store will be performed within time interval not less then this value.

If this value is `0`, then flush is performed only when buffer size exceeds flush size.

Specified by:
  `getWriteBehindFlushFrequency` in interface `CacheMetrics`
Returns:
  Flush frequency in milliseconds.

#### getWriteBehindStoreBatchSize

    public int getWriteBehindStoreBatchSize()

Gets the maximum count of similar (put or remove) operations that can be grouped to a single batch.

Specified by:
  `getWriteBehindStoreBatchSize` in interface `CacheMetrics`
Returns:
  Maximum size of batch.

#### getWriteBehindTotalCriticalOverflowCount

    public int getWriteBehindTotalCriticalOverflowCount()

Gets count of write buffer overflow events since initialization. Each overflow event causes the ongoing flush operation to be performed synchronously.

Specified by:
  `getWriteBehindTotalCriticalOverflowCount` in interface `CacheMetrics`
Returns:
  Count of cache overflow events since start.

#### getWriteBehindCriticalOverflowCount

    public int getWriteBehindCriticalOverflowCount()

Gets count of write buffer overflow events in progress at the moment. Each overflow event causes the ongoing flush operation to be performed synchronously.

Specified by:
  `getWriteBehindCriticalOverflowCount` in interface `CacheMetrics`
Returns:
  Count of cache overflow events since start.

#### getWriteBehindErrorRetryCount

    public int getWriteBehindErrorRetryCount()

Gets count of cache entries that are in a store-retry state. An entry is assigned a store-retry state when underlying store failed due some reason and cache has enough space to retain this entry till the next try.

Specified by:
  `getWriteBehindErrorRetryCount` in interface `CacheMetrics`
Returns:
  Count of entries in store-retry state.

#### getWriteBehindBufferSize

    public int getWriteBehindBufferSize()

Gets count of entries that were processed by the write-behind store and have not been flushed to the underlying store yet.

Specified by:
  `getWriteBehindBufferSize` in interface `CacheMetrics`
Returns:
  Total count of entries in cache store internal buffer.

#### getKeyType

    public String getKeyType()

Determines the required type of keys for this `Cache`, if any.

Specified by:
  `getKeyType` in interface `CacheMetrics`
Returns:
  The fully qualified class name of the key type, or `"java.lang.Object"` if the type is undefined.

#### getValueType

    public String getValueType()

Determines the required type of values for this `Cache`, if any.

Specified by:
  `getValueType` in interface `CacheMetrics`
Returns:
  The fully qualified class name of the value type, or `"java.lang.Object"` if the type is undefined.

#### isStoreByValue

    public boolean isStoreByValue()

Whether storeByValue `true` or storeByReference `false`. When `true`, both keys and values are stored by value.

When `false`, both keys and values are stored by reference. Caches stored by reference are capable of mutation by any threads holding the reference. The effects are:

- if the key is mutated, then the key may not be retrievable or removable
- if the value is mutated, then all threads in the JVM can potentially observe those mutations, subject to the normal Java Memory Model rules.

Storage by reference only applies to the local heap. If an entry is moved off heap it will need to be transformed into a representation. Any mutations that occur after transformation may not be reflected in the cache.

When a cache is storeByValue, any mutation to the key or value does not affect the key of value stored in the cache.

The default value is `true`.

Specified by:
  `isStoreByValue` in interface `CacheMetrics`
Returns:
  `True` if the cache is store by value.

#### isStatisticsEnabled

    public boolean isStatisticsEnabled()

Checks whether statistics collection is enabled in this cache.

The default value is `false`.

Specified by:
  `isStatisticsEnabled` in interface `CacheMetrics`
Returns:
  `True` if statistics collection is enabled.

#### isManagementEnabled

    public boolean isManagementEnabled()

Checks whether management is enabled on this cache.

The default value is `false`.

Specified by:
  `isManagementEnabled` in interface `CacheMetrics`
Returns:
  `true` if management is enabled.

#### isReadThrough

    public boolean isReadThrough()

Determines if a `Cache` should operate in read-through mode.

The default value is `false`

Specified by:
  `isReadThrough` in interface `CacheMetrics`
Returns:
  `True` when a `Cache` is in "read-through" mode.
See Also:
  `CacheLoader`

#### isWriteThrough

    public boolean isWriteThrough()

Determines if a `Cache` should operate in "write-through" mode.

will appropriately cause the configured `CacheWriter` to be invoked.

The default value is `false`

Specified by:
  `isWriteThrough` in interface `CacheMetrics`
Returns:
  `True` when a `Cache` is in "write-through" mode.
See Also:
  `CacheWriter`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### writeExternal

    public void writeExternal(ObjectOutput out)
                       throws IOException

Specified by:
  `writeExternal` in interface `Externalizable`
Throws:
  `IOException`

#### readExternal

    public void readExternal(ObjectInput in)
                      throws IOException,
                             ClassNotFoundException

Specified by:
  `readExternal` in interface `Externalizable`
Throws:
  `IOException`
  `ClassNotFoundException`

2015 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 1.7.0
Release Date | : August 1 2016