13.1.1. Types of metrics

This section describes the types of metrics available in Neo4j.

Neo4j provides a built-in metrics subsystem. Reported metrics can be queried via JMX, retrieved from CSV files, or consumed by third-party monitoring tools.

Neo4j has the following types of metrics: Global metrics

Global metrics cover the whole database management system, and represents the status of the system as a whole.

Global metrics have following name format: <user-configured-prefix>.metric.name

Metrics of this type are reported as soon as the database management system is available. For example, all JVM related metrics are global. In particular, the neo4j.vm.thread.count metric has a default user-configured-prefix neo4j and the metric name is vm.thread.count.

By default, global metrics include:

  • Page cache metrics
  • GC metrics
  • Thread metrics
  • Memory pool metrics
  • Memory buffers metrics
  • File descriptor metrics
  • Database operation metrics
  • Bolt metrics
  • Web Server metrics Database metrics

Each database metric is reported for a particular database only. Database metrics are only available during the lifetime of the database. When a database becomes unavailable, all of its metrics become unavailable also.

Database metrics have following name format: <user-configured-prefix>.<database-name>.metric.name

For example, any transaction metric is a database metric. In particular, the neo4j.mydb.transaction.started metric has a default user-configured-prefix neo4j and it is a metric for the mydb database.

By default, database metrics include:

  • Transaction metrics
  • Checkpoint metrics
  • Log rotation metrics
  • Database data metrics
  • Cypher metrics
  • Causal clustering metrics