Prometheus metrics

Management Center automatically reformats all Hazelcast cluster metrics for compatibility with Prometheus. In addition, Management Center updates a subset of metrics to align with Prometheus best practice recommendations. This makes it easier to construct complex queries, build dashboards, and work alongside metrics from other applications.

By default, Management Center exposes both the original metrics and the updated versions. Existing integrations will therefore continue to work, but you should consider the original metrics deprecated and plan to migrate to the updated versions. You can optionally change which set of metrics is exposed.

Metrics changes

Management Center makes the following changes to metrics exposed by Hazelcast clusters.

Original metrics:

  • Convert . to _

  • Add hz_ prefix

Updated metrics:

  • Use snake_case

  • Add hazelcast_ prefix

  • Update metric names where appropriate

  • Combine related metrics and add labels

  • Convert to recommended base units:

    • Time in seconds

    • Memory in bytes

    • Percentages as ratios (for example, 50% converts to 0.5)

  • Append units to metric names

  • Remove unit labels

The updated metrics are based on Prometheus conventions.

The following examples illustrate the differences between the original and updated metrics.

  • Rename and remove unit label:

    hz_map_queryCount{name="map-1",mc_member="127.0.0.1:5701",mc_cluster="Cluster-1",unit="COUNT",} 0.0 1737715903399
    
    hazelcast_map_queries{name="map-1",mc_member="127.0.0.1:5701",mc_cluster="Cluster-1",} 0.0 1737715903399
  • Rename and append unit, remove unit label, convert value (1.7x1012 milliseconds to 1.7x109 seconds):

    hz_map_creationTime{name="map-1",mc_member="127.0.0.1:5701",mc_cluster="Cluster-1",unit="MS",} 1.737715861118E12 1737715903399
    
    hazelcast_map_creation_timestamp_seconds{name="map-1",mc_member="127.0.0.1:5701",mc_cluster="Cluster-1",} 1.737715861118E9 1737715903399
  • Rename and append unit, remove unit label, add remove label:

    hz_map_totalMaxRemoveLatency{name="map-1",mc_member="127.0.0.1:5701",mc_cluster="Cluster-1",unit="MS",} 0.0 1737715903399
    
    hazelcast_map_latency_max_seconds{name="map-1",mc_member="127.0.0.1:5701",mc_cluster="Cluster-1",operation="remove",} 0.0 1737715903399

Choose which set of metrics to use

To change which set of metrics is exposed to Prometheus, update the hazelcast.mc.prometheusExporter.printers system property:

  • Original only: hazelcast.mc.prometheusExporter.printers=V1

  • Updated only: hazelcast.mc.prometheusExporter.printers=V2

  • Both (default): hazelcast.mc.prometheusExporter.printers=V1,V2

If you set the property to V2, Management Center will only expose the subset of metrics that have updated versions available.

Metrics list

Management Center converts all metrics for the map, set and list data structures. The full list of Hazelcast metrics is provided in the Hazelcast Platform documentation.

In some cases, several original metrics are combined into one and differentiated by labels. For example, hazelcast_map_operations_total replaces hz_map_getCount and hz_map_setCount by adding operation="get" and operation="set" labels.

Original metric hz_ Updated metric hazelcast_ Additional labels Description

map_backupCount

map_backups

n/a

Number of backups per entry

map_backupEntryCount

map_entries_backup

n/a

Number of backup entries held by the member

map_backupEntryMemoryCost

map_entries_backup_memory_cost

n/a

Memory cost of backup entries in this member

map_creationTime

map_creation_timestamp_seconds

n/a

Creation time of the map on the member

map_dirtyEntryCount

map_entries_dirty

n/a

Number of updated but not yet persisted entries (dirty entries) that the member owns

map_evictionCount

map_evictions

n/a

Number of evictions on locally owned entries, excluding backups

map_expirationCount

map_expirations

n/a

Number of expirations on locally owned entries, excluding backups

map_getCount

map_operations_total

get

Number of local get operations on the map; incremented for every get operation even if the entries do not exist

map_heapCost

map_heap_cost_bytes

n/a

Total heap cost for the map on this member

map_indexedQueryCount

map_queries_indexed

n/a

Total number of indexed local queries performed on the map

map_lastAccessTime

map_last_access_timestamp_seconds

n/a

Last access (read) time of the locally owned entries

map_lastUpdateTime

map_last_update_timestamp_seconds

n/a

Last update time of the locally owned entries

map_lockedEntryCount

map_entries_locked

n/a

Number of locked entries that the member owns

map_merkleTreesCost

map_merkle_trees_cost_bytes

n/a

Total heap cost of the Merkle trees used

map_numberOfEvents

map_events

n/a

Number of local events received on the map

map_numberOfOtherOperations

map_operations_total

other

Total number of other operations performed on this member

map_ownedEntryCount

map_entries_owned

n/a

Number of map entries owned by the member

map_ownedEntryMemoryCost

map_entries_owned_memory_cost

n/a

Memory cost of owned map entries on this member

map_putCount

map_operations_total

put

Number of local put operations on the map

map_queryCount

map_queries

n/a

Number of queries executed on the map (it may be imprecise for queries involving partition predicates (PartitionPredicate) on the off-heap storage)

map_removeCount

map_operations_total

remove

Number of local remove operations on the map

map_setCount

map_operations_total

set

Number of local set operations on the map

map_hits

map_hits

n/a

Number of reads of the locally owned entries; incremented for every read by any type of operation (get, set, put), so the entries should exist

map_totalGetLatency

map_latency_total_seconds

get

Total latency of local get operations on the map

map_totalMaxGetLatency

map_latency_max_seconds

get

Maximum latency of local get operations on the map

map_totalPutLatency

map_latency_total_seconds

put

Total latency of local put operations on the map

map_totalMaxPutLatency

map_latency_max_seconds

put

Maximum latency of local put operations on the map

map_totalRemoveLatency

map_latency_total_seconds

remove

Total latency of local remove operations on the map

map_totalMaxRemoveLatency

map_latency_max_seconds

remove

Maximum latency of local remove operations on the map

map_totalSetLatency

map_latency_total_seconds

set

Total latency of local set operations on the map

map_totalMaxSetLatency

map_latency_max_seconds

set

Maximum latency of local set operations on the map

map_index_creationTime

map_index_creation_timestamp_seconds

n/a

Creation time of the index on this member

map_index_hitCount

map_index_hits

n/a

Total number of index hits (the value of this metric may be greater than the map_index_queryCount because a single query may hit the same index more than once)

map_index_insertCount

map_index_inserts

n/a

Number of insert operations performed on the index

map_index_memoryCost

map_index_memory_cost

n/a

Local memory cost of the index (for on-heap indexes in OBJECT or BINARY formats the returned value is a best-effort approximation and doesn’t indicate a precise on-heap memory usage of the index)

map_index_queryCount

map_index_queries

n/a

Total number of queries served by the index

map_index_removeCount

map_index_removes

n/a

Number of remove operations performed on the index

map_index_totalInsertLatency

map_index_latency_total

insert

Total latency of insert operations performed on the index

map_index_totalRemoveLatency

map_index_latency_total_seconds

remove

Total latency of remove operations performed on the index

map_index_totalUpdateLatency

map_index_latency_total_seconds

update

Total latency of update operations performed on the index

map_index_updateCount

map_index_updates

n/a

Number of update operations performed on the index

set_creationTime

set_creation_timestamp

n/a

Creation time of the set on the member

set_lastAccessTime

set_last_access_timestamp_seconds

n/a

Last access (read) time of the locally owned items

set_lastUpdateTime

set_last_update_timestamp_seconds

n/a

Last update time of the locally owned items

list_creationTime

list_creation_timestamp_seconds

n/a

Creation time of this list on the member

list_lastAccessTime

list_last_access_timestamp_seconds

n/a

Last access (read) time of the locally owned items

list_lastUpdateTime

list_last_update_timestamp_seconds

n/a

Last update time of the locally owned items