Skip to main content
Version: 6.0-SNAPSHOT

Reading Map Metrics

By default, you can read metrics for a given map, such as the primary and backup entry count, last update time, and locked entry count on each member of your cluster. You can access these statistics for the entire map, for the map entries on a specific cluster member, or specific map entries.

Getting Statistics about All Map Entries​

To get statistics for all map entries that are owned by a member, use the getLocalMapStats() method of the Java member API (embedded mode). This method returns data only if the statistics-enabled element is set to true, which is the default.

note

If you disable map statistics, statistics will not be available via the API, or in Hazelcast Management Center.

xml
<hazelcast>
...
<map name="myMap">
<statistics-enabled>true</statistics-enabled>
</map>
...
</hazelcast>
java
LocalMapStats mapStatistics = myMap.getLocalMapStats();
System.out.println( "Number of entries owned by this member = "
+ mapStatistics.getOwnedEntryCount() );
note

If you need cluster-wide map statistics, you can get the local map statistics from all members of the cluster and combine them. Alternatively, you can see all map statistics in Hazelcast Management Center.

Getting Statistics about a Specific Map Entry​

To get statistics for a specific map entry, you can use the getEntryView(key) method of one of the following available client libraries. To use this method, the map must have its per-entry-stats-enabled element set to true.

This method returns the following statistics:

StatisticDescription
costCost (in bytes) of the entry.
creationTimeCreation time of the entry.
expirationTimeExpiration time of the entry.
hitsNumber of hits of the entry.
keyKey of the entry.
lastAccessTimeLast access time for the entry.
lastStoredTimeLast time the value was saved to a MapStore.
lastUpdateTimeLast time the value was updated.
maxIdleLast set max idle time in milliseconds.
ttlLast set time-to-live in milliseconds.
valueValue of the entry.
versionVersion of the entry.
xml
<hazelcast>
...
<map name="myMap">
<per-entry-stats-enabled>true</per-entry-stats-enabled>
</map>
...
</hazelcast>
java
HazelcastInstance hz = Hazelcast.newHazelcastInstance();

EntryView entry = hz.getMap( "quotes" ).getEntryView( "key" );

System.out.println ( "size in memory : " + entry.getCost() );
System.out.println ( "creationTime : " + entry.getCreationTime() );
System.out.println ( "expirationTime : " + entry.getExpirationTime() );
System.out.println ( "number of hits : " + entry.getHits() );
System.out.println ( "lastAccessedTime: " + entry.getLastAccessTime() );
System.out.println ( "lastUpdateTime : " + entry.getLastUpdateTime() );
System.out.println ( "version : " + entry.getVersion() );
System.out.println ( "key : " + entry.getKey() );
System.out.println ( "value : " + entry.getValue() );