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:
-
Per database - covers individual database
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