From 893a3ad784dc1a49f7d059457fb05a9e6ec1cc9e Mon Sep 17 00:00:00 2001
From: "Mattia L.V. Bradascio" <28816406+bredamatt@users.noreply.github.com>
Date: Mon, 28 Nov 2022 11:30:27 +0000
Subject: [PATCH] Add more granularity to prometheus histogram buckets (#6348)

* Add buckets below 5ms

* Add more specific histogram buckets

* Add more specific buckets

* cargo fmt
---
 polkadot/node/core/av-store/src/metrics.rs         | 14 ++++++++++----
 polkadot/node/core/bitfield-signing/src/metrics.rs | 14 ++++++++++----
 .../network/approval-distribution/src/metrics.rs   |  2 +-
 3 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/polkadot/node/core/av-store/src/metrics.rs b/polkadot/node/core/av-store/src/metrics.rs
index c50932c6173..fedeb2b7d0e 100644
--- a/polkadot/node/core/av-store/src/metrics.rs
+++ b/polkadot/node/core/av-store/src/metrics.rs
@@ -140,10 +140,16 @@ impl metrics::Metrics for Metrics {
 				registry,
 			)?,
 			get_chunk: prometheus::register(
-				prometheus::Histogram::with_opts(prometheus::HistogramOpts::new(
-					"polkadot_parachain_av_store_get_chunk",
-					"Time spent fetching requested chunks.`",
-				))?,
+				prometheus::Histogram::with_opts(
+					prometheus::HistogramOpts::new(
+						"polkadot_parachain_av_store_get_chunk",
+						"Time spent fetching requested chunks.`",
+					)
+					.buckets(vec![
+						0.000625, 0.00125, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.1, 0.25,
+						0.5, 1.0, 2.5, 5.0, 10.0,
+					]),
+				)?,
 				registry,
 			)?,
 		};
diff --git a/polkadot/node/core/bitfield-signing/src/metrics.rs b/polkadot/node/core/bitfield-signing/src/metrics.rs
index ab4e73be0ee..571a0c335bd 100644
--- a/polkadot/node/core/bitfield-signing/src/metrics.rs
+++ b/polkadot/node/core/bitfield-signing/src/metrics.rs
@@ -50,10 +50,16 @@ impl metrics::Metrics for Metrics {
 				registry,
 			)?,
 			run: prometheus::register(
-				prometheus::Histogram::with_opts(prometheus::HistogramOpts::new(
-					"polkadot_parachain_bitfield_signing_run",
-					"Time spent within `bitfield_signing::run`",
-				))?,
+				prometheus::Histogram::with_opts(
+					prometheus::HistogramOpts::new(
+						"polkadot_parachain_bitfield_signing_run",
+						"Time spent within `bitfield_signing::run`",
+					)
+					.buckets(vec![
+						0.000625, 0.00125, 0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.1, 0.25,
+						0.5, 1.0, 2.5, 5.0, 10.0,
+					]),
+				)?,
 				registry,
 			)?,
 		};
diff --git a/polkadot/node/network/approval-distribution/src/metrics.rs b/polkadot/node/network/approval-distribution/src/metrics.rs
index c0887b25f7f..b14e54c5740 100644
--- a/polkadot/node/network/approval-distribution/src/metrics.rs
+++ b/polkadot/node/network/approval-distribution/src/metrics.rs
@@ -127,7 +127,7 @@ impl MetricsTrait for Metrics {
 				prometheus::Histogram::with_opts(prometheus::HistogramOpts::new(
 					"polkadot_parachain_time_unify_with_peer",
 					"Time spent within fn `unify_with_peer`.",
-				))?,
+				).buckets(vec![0.000625, 0.00125,0.0025, 0.005, 0.0075, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1.0, 2.5, 5.0, 10.0,]))?,
 				registry,
 			)?,
 			time_import_pending_now_known: prometheus::register(
-- 
GitLab