8.1.2. Available metrics

This section provides a listing of available metrics.

This section describes the following:

8.1.2.1. General-purpose metrics

Table 8.1. Database Checkpointing Metrics
Name Description

neo4j.check_point.events

The total number of check point events executed so far

neo4j.check_point.total_time

The total time spent in check pointing so far

neo4j.check_point.check_point_duration

The duration of the check point event

Table 8.2. Database Data Metrics
Name Description

neo4j.ids_in_use.relationship_type

The total number of different relationship types stored in the database

neo4j.ids_in_use.property

The total number of different property names used in the database

neo4j.ids_in_use.relationship

The total number of relationships stored in the database

neo4j.ids_in_use.node

The total number of nodes stored in the database

Table 8.3. Database PageCache Metrics
Name Description

neo4j.page_cache.eviction_exceptions

The total number of exceptions seen during the eviction process in the page cache

neo4j.page_cache.flushes

The total number of flushes executed by the page cache

neo4j.page_cache.unpins

The total number of page unpins executed by the page cache

neo4j.page_cache.pins

The total number of page pins executed by the page cache

neo4j.page_cache.evictions

The total number of page evictions executed by the page cache

neo4j.page_cache.page_faults

The total number of page faults happened in the page cache

neo4j.page_cache.hits

The total number of page hits happened in the page cache

neo4j.page_cache.hit_ratio

The ratio of hits to the total number of lookups in the page cache

Table 8.4. Database Transaction Metrics
Name Description

neo4j.transaction.started

The total number of started transactions

neo4j.transaction.peak_concurrent

The highest peak of concurrent transactions ever seen on this machine

neo4j.transaction.active

The number of currently active transactions

neo4j.transaction.active_read

The number of currently active read transactions

neo4j.transaction.active_write

The number of currently active write transactions

neo4j.transaction.committed

The total number of committed transactions

neo4j.transaction.committed_read

The total number of committed read transactions

neo4j.transaction.committed_write

The total number of committed write transactions

neo4j.transaction.rollbacks

The total number of rolled back transactions

neo4j.transaction.rollbacks_read

The total number of rolled back read transactions

neo4j.transaction.rollbacks_write

The total number of rolled back write transactions

neo4j.transaction.terminated

The total number of terminated transactions

neo4j.transaction.terminated_read

The total number of terminated read transactions

neo4j.transaction.terminated_write

The total number of terminated write transactions

neo4j.transaction.last_committed_tx_id

The ID of the last committed transaction

neo4j.transaction.last_closed_tx_id

The ID of the last closed transaction

Table 8.5. Cypher Metrics
Name Description

neo4j.cypher.replan_events

The total number of times Cypher has decided to re-plan a query

neo4j.cypher.replan_wait_time

The total number of seconds waited between query replans

Table 8.6. Database LogRotation Metrics
Name Description

neo4j.log_rotation.events

The total number of transaction log rotations executed so far

neo4j.log_rotation.total_time

The total time spent in rotating transaction logs so far

neo4j.log_rotation.log_rotation_duration

The duration of the log rotation event

Table 8.7. Bolt Metrics
Name Description

neo4j.bolt.sessions_started

The total number of Bolt sessions started since this instance started. This includes both succeeded and failed sessions.

neo4j.bolt.messages_received

The total number of messages received via Bolt since this instance started.

neo4j.bolt.messages_started

The total number of messages work has started on since this instance started. This is different from messages received in that this counter tracks how many of the received messages havebeen taken on by a worker thread.

neo4j.bolt.messages_done

The total number of messages work has completed on since this instance started. This includes successful, failed and ignored Bolt messages.

neo4j.bolt.accumulated_queue_time

The accumulated time messages have spent waiting for a worker thread.

neo4j.bolt.accumulated_processing_time

The accumulated time worker threads have spent processing messages.

Table 8.8. Server Metrics
Name Description

neo4j.server.threads.jetty.idle

The total number of idle threads in the jetty pool

neo4j.server.threads.jetty.all

The total number of threads (both idle and busy) in the jetty pool

Table 8.9. Network Metrics
Name Description

neo4j.network.slave_network_tx_writes

The amount of bytes transmitted on the network containing the transaction data from a slave to the master in order to be committed

neo4j.network.master_network_store_writes

The amount of bytes transmitted on the network while copying stores from a machines to another

neo4j.network.master_network_tx_writes

The amount of bytes transmitted on the network containing the transaction data from a master to the slaves in order to propagate committed transactions

Table 8.10. Cluster Metrics
Name Description

neo4j.cluster.slave_pull_updates

The total number of update pulls executed by this instance

neo4j.cluster.slave_pull_update_up_to_tx

The highest transaction id that has been pulled in the last pull updates by this instance

neo4j.cluster.is_master

Whether or not this instance is the master in the cluster

neo4j.cluster.is_available

Whether or not this instance is available in the cluster

Table 8.11. Core Metrics
Name Description

neo4j.causal_clustering.core.append_index

Append index of the RAFT log

neo4j.causal_clustering.core.commit_index

Commit index of the RAFT log

neo4j.causal_clustering.core.term

RAFT Term of this server

neo4j.causal_clustering.core.leader_not_found

Leader was not found while attempting to commit a transaction

neo4j.causal_clustering.core.tx_retries

Transaction retries

neo4j.causal_clustering.core.is_leader

Is this server the leader?

neo4j.causal_clustering.core.dropped_messages

How many RAFT messages were dropped?

neo4j.causal_clustering.core.queue_sizes

How many RAFT messages are queued up?

neo4j.causal_clustering.core.in_flight_cache.total_bytes

In-flight cache total bytes

neo4j.causal_clustering.core.in_flight_cache.max_bytes

In-flight cache max bytes

neo4j.causal_clustering.core.in_flight_cache.element_count

In-flight cache element count

neo4j.causal_clustering.core.in_flight_cache.max_elements

In-flight cache maximum elements

neo4j.causal_clustering.core.in_flight_cache.hits

In-flight cache hits

neo4j.causal_clustering.core.in_flight_cache.misses

In-flight cache misses

Java Virtual Machine Metrics

These metrics are environment dependent and they may vary on different hardware and with JVM configurations. Typically these metrics will show information about garbage collections (for example the number of events and time spent collecting), memory pools and buffers, and finally the number of active threads running.

8.1.2.2. Metrics specific to Causal Clustering

The Core and Read replica roles have widely varying metrics as befits their different characteristics and supported protocols. The Core metrics monitor important details like the collective state of the Raft distributed consensus protocol and the number of transactions that have been shipped to Read Replicas. Read replica metrics are far simpler, simply tracking the asynchronous replication state with respect to the Core Servers.

Core

Core Servers track a wide range of metrics pertaining to the Raft distributed consensus algorithm. The also track their load (in terms of transactions log-shipping requests) to the Read Replicas (and any newly brought online Core Servers).

Table 8.12. Core metrics
Name Description

neo4j.causal_clustering.core.commit_index

This server’s Raft commit index showing how many transactions it has safely committed into its Raft log.

neo4j.causal_clustering.core.append_index

This server’s Raft append index showing how many transactions it has appended (but not necessarily committed) into its Raft log.

neo4j.causal_clustering.core.term

This server’s Raft term showing this servers view of the number of Leader elections that have occurred.

neo4j.causal_clustering.core.leader_not_found

The number of times this server could not locate a Leader for the Raft protocol.

neo4j.causal_clustering.core.tx_pull_requests_received

The number of transaction log-shipping requests that have been received by the current server.

neo4j.causal_clustering.core.tx_retries

The number of transactions that have had to be retried by the current server.

neo4j.causal_clustering.core.is_leader

Whether or not the current server is playing the Raft Leader role.

neo4j.causal_clustering.core.dropped_messages

The number of messages dropped by the current server owning to communication failures with other Core Servers.

neo4j.causal_clustering.core.queue_sizes

The aggregate queue size of Raft messages outbound to other Core Servers.

Read replica

Read Replicas' metrics track the replication window with respect to the Core Servers.

Table 8.13. Core metrics
Name Description

pull_updates

The number of requests for asynchronous transaction updates this server has made.

pull_update_highest_tx_id_requested

The highest transaction ID that this server has received from the Core Servers.

pull_update_highest_tx_id_received

The last transaction ID that this server has received from the Core Servers.