Types of metrics

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