diff --git a/crates/storage/db/src/metrics.rs b/crates/storage/db/src/metrics.rs index ed265d6e3a..4079095096 100644 --- a/crates/storage/db/src/metrics.rs +++ b/crates/storage/db/src/metrics.rs @@ -1,5 +1,5 @@ use crate::Tables; -use metrics::{Gauge, Histogram}; +use metrics::Histogram; use reth_metrics::{metrics::Counter, Metrics}; use rustc_hash::FxHashMap; use std::time::{Duration, Instant}; @@ -259,17 +259,19 @@ impl Labels { #[derive(Metrics, Clone)] #[metrics(scope = "database.transaction")] pub(crate) struct TransactionMetrics { - /// Total number of currently open database transactions - open_total: Gauge, + /// Total number of opened database transactions (cumulative) + opened_total: Counter, + /// Total number of closed database transactions (cumulative) + closed_total: Counter, } impl TransactionMetrics { pub(crate) fn record_open(&self) { - self.open_total.increment(1.0); + self.opened_total.increment(1); } pub(crate) fn record_close(&self) { - self.open_total.decrement(1.0); + self.closed_total.increment(1); } } diff --git a/etc/grafana/dashboards/overview.json b/etc/grafana/dashboards/overview.json index 39ccdffe34..cff7ede90b 100644 --- a/etc/grafana/dashboards/overview.json +++ b/etc/grafana/dashboards/overview.json @@ -1724,15 +1724,29 @@ }, "editorMode": "code", "exemplar": false, - "expr": "sum(reth_database_transaction_open_total{instance=~\"$instance\"}) by (mode)", + "expr": "sum(reth_database_transaction_opened_total{instance=~\"$instance\"}) by (mode)", "format": "time_series", "instant": false, - "legendFormat": "{{mode}}", + "legendFormat": "Opened {{mode}}", "range": true, "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum(reth_database_transaction_closed_total{instance=~\"$instance\"}) by (mode)", + "format": "time_series", + "instant": false, + "legendFormat": "Closed {{mode}}", + "range": true, + "refId": "B" } ], - "title": "Number of open transactions", + "title": "Number of transactions", "type": "timeseries" }, {