org.apache.ignite.mxbean

## Interface CacheMetricsMXBean

All Superinterfaces:
  CacheMetrics, javax.cache.management.CacheMXBean, javax.cache.management.CacheStatisticsMXBean

    @MXBeanDescription(value="MBean that provides access to cache descriptor.")
    public interface CacheMetricsMXBean
    extends javax.cache.management.CacheStatisticsMXBean, javax.cache.management.CacheMXBean, CacheMetrics

This interface defines JMX view on `IgniteCache`.

### Method Summary

Methods
`void` `clear()`
`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.

### Method Detail

#### clear

    @MXBeanDescription(value="Clear statistics.")
    void clear()

Specified by:
  `clear` in interface `javax.cache.management.CacheStatisticsMXBean`

#### getCacheHits

    @MXBeanDescription(value="Number of hits.")
    long getCacheHits()

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

Specified by:
  `getCacheHits` in interface `CacheMetrics`
Specified by:
  `getCacheHits` in interface `javax.cache.management.CacheStatisticsMXBean`
Returns:
  The number of hits.

#### getCacheHitPercentage

    @MXBeanDescription(value="Percentage of successful hits.")
    float getCacheHitPercentage()

This is a measure of cache efficiency.

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

#### getCacheMisses

    @MXBeanDescription(value="Number of misses.")
    long getCacheMisses()

A miss is a get request that is not satisfied.

Specified by:
  `getCacheMisses` in interface `CacheMetrics`
Specified by:
  `getCacheMisses` in interface `javax.cache.management.CacheStatisticsMXBean`
Returns:
  The number of misses.

#### getCacheMissPercentage

    @MXBeanDescription(value="Percentage of accesses that failed to find anything.")
    float getCacheMissPercentage()

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

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

#### getCacheGets

    @MXBeanDescription(value="Number of gets.")
    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`
Specified by:
  `getCacheGets` in interface `javax.cache.management.CacheStatisticsMXBean`
Returns:
  The number of gets.

#### getCachePuts

    @MXBeanDescription(value="Number of puts.")
    long getCachePuts()

The total number of puts to the cache.

Specified by:
  `getCachePuts` in interface `CacheMetrics`
Specified by:
  `getCachePuts` in interface `javax.cache.management.CacheStatisticsMXBean`
Returns:
  The number of puts.

#### getCacheRemovals

    @MXBeanDescription(value="Number of removals.")
    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`
Specified by:
  `getCacheRemovals` in interface `javax.cache.management.CacheStatisticsMXBean`
Returns:
  The number of removals.

#### getCacheEvictions

    @MXBeanDescription(value="Number of eviction entries.")
    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`
Specified by:
  `getCacheEvictions` in interface `javax.cache.management.CacheStatisticsMXBean`
Returns:
  The number of evictions.

#### getAverageGetTime

    @MXBeanDescription(value="Average time to execute get.")
    float getAverageGetTime()

The mean time to execute gets.

Specified by:
  `getAverageGetTime` in interface `CacheMetrics`
Specified by:
  `getAverageGetTime` in interface `javax.cache.management.CacheStatisticsMXBean`
Returns:
  The time in µs.

#### getAveragePutTime

    @MXBeanDescription(value="Average time to execute put.")
    float getAveragePutTime()

The mean time to execute puts.

Specified by:
  `getAveragePutTime` in interface `CacheMetrics`
Specified by:
  `getAveragePutTime` in interface `javax.cache.management.CacheStatisticsMXBean`
Returns:
  The time in µs.

#### getAverageRemoveTime

    @MXBeanDescription(value="Average time to execute remove.")
    float getAverageRemoveTime()

The mean time to execute removes.

Specified by:
  `getAverageRemoveTime` in interface `CacheMetrics`
Specified by:
  `getAverageRemoveTime` in interface `javax.cache.management.CacheStatisticsMXBean`
Returns:
  The time in µs.

#### getAverageTxCommitTime

    @MXBeanDescription(value="Average time to commit transaction.")
    float getAverageTxCommitTime()

The mean time to execute tx commit.

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

#### getAverageTxRollbackTime

    @MXBeanDescription(value="Average time to rollback transaction.")
    float getAverageTxRollbackTime()

The mean time to execute tx rollbacks.

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

#### getCacheTxCommits

    @MXBeanDescription(value="Number of transaction commits.")
    long getCacheTxCommits()

Gets total number of transaction commits.

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

#### getCacheTxRollbacks

    @MXBeanDescription(value="Number of transaction rollback.")
    long getCacheTxRollbacks()

Gets total number of transaction rollbacks.

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

#### name

    @MXBeanDescription(value="Cache name.")
    String name()

Gets name of this cache.

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

#### getOverflowSize

    @MXBeanDescription(value="Number of entries that was swapped to disk.")
    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

    @MXBeanDescription(value="Number of gets from off-heap memory.")
    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

    @MXBeanDescription(value="Number of puts to off-heap memory.")
    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

    @MXBeanDescription(value="Number of removed entries from off-heap memory.")
    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

    @MXBeanDescription(value="Number of evictions from off-heap memory.")
    long getOffHeapEvictions()

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

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

#### getOffHeapHits

    @MXBeanDescription(value="Number of hits on off-heap memory.")
    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

    @MXBeanDescription(value="Percentage of hits on off-heap memory.")
    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

    @MXBeanDescription(value="Number of misses on off-heap memory.")
    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

    @MXBeanDescription(value="Percentage of misses on off-heap memory.")
    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

    @MXBeanDescription(value="Number of entries stored in off-heap memory.")
    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

    @MXBeanDescription(value="Number of primary entries stored in off-heap memory.")
    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

    @MXBeanDescription(value="Number of backup stored in off-heap memory.")
    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

    @MXBeanDescription(value="Memory size allocated in off-heap.")
    long getOffHeapAllocatedSize()

Gets memory size allocated in off-heap.

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

#### getOffHeapMaxSize

    @MXBeanDescription(value="Off-heap memory maximum size.")
    long getOffHeapMaxSize()

Gets off-heap memory maximum size.

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

#### getSwapGets

    @MXBeanDescription(value="Number of gets from swap.")
    long getSwapGets()

The total number of get requests to the swap.

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

#### getSwapPuts

    @MXBeanDescription(value="Number of puts to swap.")
    long getSwapPuts()

The total number of put requests to the swap.

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

#### getSwapRemovals

    @MXBeanDescription(value="Number of removed entries from swap.")
    long getSwapRemovals()

The total number of removals from the swap.

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

#### getSwapHits

    @MXBeanDescription(value="Number of hits on swap.")
    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

    @MXBeanDescription(value="Number of misses on swap.")
    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

    @MXBeanDescription(value="Percentage of hits on swap.")
    float getSwapHitPercentage()

Gets the percentage of hits on swap.

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

#### getSwapMissPercentage

    @MXBeanDescription(value="Percentage of misses on swap.")
    float getSwapMissPercentage()

Gets the percentage of misses on swap.

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

#### getSwapEntriesCount

    @MXBeanDescription(value="Number of entries stored in swap.")
    long getSwapEntriesCount()

Gets number of entries stored in swap.

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

#### getSwapSize

    @MXBeanDescription(value="Size of swap.")
    long getSwapSize()

Gets size of swap.

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

#### getSize

    @MXBeanDescription(value="Number of non-null values in the cache.")
    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

    @MXBeanDescription(value="Number of keys in the cache (possibly with null values).")
    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

    @MXBeanDescription(value="True if cache is empty.")
    boolean isEmpty()

Returns `true` if this cache is empty.

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

#### getDhtEvictQueueCurrentSize

    @MXBeanDescription(value="Current size of evict queue.")
    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

    @MXBeanDescription(value="Transaction per-thread map size.")
    int getTxThreadMapSize()

Gets transaction per-thread map size.

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

#### getTxXidMapSize

    @MXBeanDescription(value="Transaction per-Xid map size.")
    int getTxXidMapSize()

Gets transaction per-Xid map size.

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

#### getTxCommitQueueSize

    @MXBeanDescription(value="Transaction committed queue size.")
    int getTxCommitQueueSize()

Gets committed transaction queue size.

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

#### getTxPrepareQueueSize

    @MXBeanDescription(value="Transaction prepared queue size.")
    int getTxPrepareQueueSize()

Gets prepared transaction queue size.

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

#### getTxStartVersionCountsSize

    @MXBeanDescription(value="Transaction start version counts map size.")
    int getTxStartVersionCountsSize()

Gets start version counts map size.

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

#### getTxCommittedVersionsSize

    @MXBeanDescription(value="Transaction committed ID map size.")
    int getTxCommittedVersionsSize()

Gets number of cached committed transaction IDs.

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

#### getTxRolledbackVersionsSize

    @MXBeanDescription(value="Transaction rolled back ID map size.")
    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

    @MXBeanDescription(value="Transaction DHT per-thread map size.")
    int getTxDhtThreadMapSize()

Gets transaction DHT per-thread map size.

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

#### getTxDhtXidMapSize

    @MXBeanDescription(value="Transaction DHT per-Xid map size.")
    int getTxDhtXidMapSize()

Gets transaction DHT per-Xid map size.

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

#### getTxDhtCommitQueueSize

    @MXBeanDescription(value="Transaction DHT committed queue size.")
    int getTxDhtCommitQueueSize()

Gets committed DHT transaction queue size.

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

#### getTxDhtPrepareQueueSize

    @MXBeanDescription(value="Transaction DHT prepared queue size.")
    int getTxDhtPrepareQueueSize()

Gets prepared DHT transaction queue size.

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

#### getTxDhtStartVersionCountsSize

    @MXBeanDescription(value="Transaction DHT start version counts map size.")
    int getTxDhtStartVersionCountsSize()

Gets DHT start version counts map size.

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

#### getTxDhtCommittedVersionsSize

    @MXBeanDescription(value="Transaction DHT committed ID map size.")
    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

    @MXBeanDescription(value="Transaction DHT rolled back ID map size.")
    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

    @MXBeanDescription(value="True if write-behind is enabled for this cache.")
    boolean isWriteBehindEnabled()

Returns `true` if write-behind is enabled.

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

#### getWriteBehindFlushSize

    @MXBeanDescription(value="Size of internal buffer that triggers flush procedure.")
    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

    @MXBeanDescription(value="Count of flush threads.")
    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

    @MXBeanDescription(value="Flush frequency interval in milliseconds.")
    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

    @MXBeanDescription(value="Maximum size of batch for similar operations.")
    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

    @MXBeanDescription(value="Count of cache overflow events since write-behind cache has started.")
    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

    @MXBeanDescription(value="Count of cache overflow events since write-behind cache has started.")
    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

    @MXBeanDescription(value="Count of cache cache entries that are currently in retry state.")
    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

    @MXBeanDescription(value="Count of cache entries that are waiting to be flushed.")
    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

    @MXBeanDescription(value="Key type.")
    String getKeyType()

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

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

#### getValueType

    @MXBeanDescription(value="Value type.")
    String getValueType()

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

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

#### isStoreByValue

    @MXBeanDescription(value="True if the cache is store by value.")
    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`
Specified by:
  `isStoreByValue` in interface `javax.cache.management.CacheMXBean`
Returns:
  `True` if the cache is store by value.

#### isStatisticsEnabled

    @MXBeanDescription(value="True if statistics collection is enabled.")
    boolean isStatisticsEnabled()

Checks whether statistics collection is enabled in this cache.

The default value is `false`.

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

#### isManagementEnabled

    @MXBeanDescription(value="True if management is enabled.")
    boolean isManagementEnabled()

Checks whether management is enabled on this cache.

The default value is `false`.

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

#### isReadThrough

    @MXBeanDescription(value="True when a cache is in read-through mode.")
    boolean isReadThrough()

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

The default value is `false`

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

#### isWriteThrough

    @MXBeanDescription(value="True when a cache is in write-through mode.")
    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`
Specified by:
  `isWriteThrough` in interface `javax.cache.management.CacheMXBean`
Returns:
  `True` when a `Cache` is in "write-through" mode.
See Also:
  `CacheWriter`

2015 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 1.2.0-incubating
Release Date | : June 16 2015