Infinispan Cache Metrics: Difference between revisions
Line 45: | Line 45: | ||
The container also maintains derivative values, such as ''readWriteRatio'' <font color=red>Update with Formula</font> and ''hitRatio'' <font color=red>Update with Formula</font>. | The container also maintains derivative values, such as ''readWriteRatio'' <font color=red>Update with Formula</font> and ''hitRatio'' <font color=red>Update with Formula</font>. | ||
<font color=red> | |||
Cluster-wide values for these metrics are available as 'clusterwide-hits', 'clusterwide-misses', 'clusterwide-hit-ratio' (cluster-wide hit/miss ratio for the cache (hits/hits+misses)), 'clusterwide-read-write-ratio' (the cluster-wide read/write ratio of the cache ((hits+misses)/stores)), 'clusterwide-remove-hits', 'clusterwide-remove-misses'. | |||
</font> | |||
====Individual Cache==== | ====Individual Cache==== |
Revision as of 17:52, 27 October 2016
Internal
Overview
Each Infinispan individual cache exposes a number of performance metrics, and the cache container managing those caches aggregate some of those metrics at container level. These metrics are described below.
Enabling Statistics
Resetting Statistics
it is possible to reset statistics for an individual cache using the :reset-statistics CLI operation, applied to the management model node corresponding to that cache.
Cache Status
An individual cache instance exposes its status as a String (example: "RUNNING"), over JMX ("cacheStatus") and CLI ("cache-status").
JDG 6 JMX | JDG 6 CLI |
JDG 7 JMX | JDG 7 CLI |
Time Statistics
The cache statistics mechanism maintains both the amount of seconds since the cache was started (elapsed time) and the amount of seconds since the cache statistics were reset (time since reset).
Read, Write and Remove Count
These statistics are maintained at individual cache level, as well as container, for a specific node.
The number of reads can be calculated by adding the number of hits and misses.
The number of writes is maintained individually as stores.
The number of deletions from the cache can be calculated by adding removeHits and removeMisses
It is preferable to expose these metrics as a rate per second. Some monitoring solutions allow the rate to be calculated automatically (see Data Dog counters).
The container also maintains derivative values, such as readWriteRatio Update with Formula and hitRatio Update with Formula.
Cluster-wide values for these metrics are available as 'clusterwide-hits', 'clusterwide-misses', 'clusterwide-hit-ratio' (cluster-wide hit/miss ratio for the cache (hits/hits+misses)), 'clusterwide-read-write-ratio' (the cluster-wide read/write ratio of the cache ((hits+misses)/stores)), 'clusterwide-remove-hits', 'clusterwide-remove-misses'.
Individual Cache
JDG 6 JMX | JDG 6 CLI |
JDG 7 JMX | JDG 7 CLI |
Cache Container
JDG 6 JMX | JDG 6 CLI |
JDG 7 JMX | JDG 7 CLI |
Average Read, Write and Remove Time
These metrics represent an individual cache read/write/remove operation average time response time, in milliseconds. For reads, the value includes hits and misses. May return null if the cache is not started. Maintained as a long. The metric always maintains the last value, even after the cache become idle. In order to reset it, you must reset underlying caches statistics, individually, with :reset-statistics.
The values for these metrics are aggregated at container level, for all caches managed by this container. They are calculated by averaging values for of the corresponding values for individual cache managed by this container.
Individual Cache
JDG 6 JMX | JDG 6 CLI |
JDG 7 JMX | JDG 7 CLI |
Cache Container
JDG 6 JMX | JDG 6 CLI |
JDG 7 JMX | JDG 7 CLI |
Number of Entries
Evictions
The number of evictions is reported both at individual cache level and at container level. It is a long representing the number of cache eviction operations for this specific node. May return null if the cache is not started.
For more details about cache eviction see Infinispan Eviction.
Individual Cache
JDG 6 JMX | JDG 6 CLI |
JDG 7 JMX | JDG 7 CLI |
Cache Container
JDG 6 JMX | JDG 6 CLI |
JDG 7 JMX | JDG 7 CLI |
Invalidations
invalidations: A string representing the number of cache invalidations. May return null if the cache is not started.
For more details about cache invalidation see Invalidation Mode.
Passivations and Activations
activations: A string representing the number of cache node activation events (bringing a node into memory from a cache store). May return null if the cache is not started.
For more details about cache activation see Cache Store Activation.
passivations: A string representing the number of cache node passivation events (writing an entry from memory into a cache store). May return null if the cache is not started.
For more details about cache passivation see Cache Store Passivation.
Clustering Performance Statistics
TODO
average-replication-time, replication-count, replication-failures, success-ratio, success-ratio-floating-point
According to the documentation: The average time spent in the transport layer, in milliseconds.
average-replication-time: A long representing the average time spent in the transport layer to duplicate data around the cluster, in milliseconds. Maintained by the RpcManager. Applies to both replicated and distributed caches.
replication-failures:A long representing the number of data duplication failures. May return null if the cache is not started. Maintained by the RpcManager. Applies to both replicated and distributed caches.
success-ratio: A percentage (double) representing successful duplications as a ratio of total duplications (successes/successes+failures). Maintained by the RpcManager. Applies to both replicated and distributed caches.
JDG 6 JMX | JDG 6 CLI |
JDG 7 JMX | JDG 7 CLI |
Distributed Cache Metrics
TODO:
capacity-factor: A read-write double that controls the proportion of entries that will reside on the local node, compared to the other nodes in the cluster. Value must be positive. This element is only used in 'distributed' cache instances. By default is undefined, which corresponds to a logical value of 1.0.
virtual-nodes: deprecated