The CONGESTION_RECEIPT_FORWARDING_UNUSED_CAPACITY_GAS metric describes how much gas we could've sent to another shard:
static CONGESTION_RECEIPT_FORWARDING_UNUSED_CAPACITY_GAS: Lazy<IntGaugeVec> = Lazy::new(|| {
try_create_int_gauge_vec(
"near_congestion_receipt_forwarding_unused_capacity_gas",
"How much additional gas could have been forwarded in the same chunk from one shard to another. An indicator for congestion backpressure.",
&["sender_shard_id", "receiver_shard_id"],
)
.unwrap()
});
This makes sense for sending between different shards (e.g 0 -> 1), but gas capacity is unlimited when sending between the same shard (e.g 0 -> 0), because of which the metric has extremely large values when sender_shard_id = receiver_shard_id.
When one timeseries has large values, Grafana adjusts the visualisation to fit them, which means that the y axis has very large values, which causes the real, non-infinite values to be almost invisible at the bottom.
I couldn't find a way to easily filter out timeseries where sender_shard_id == receiver_shard_id, this the most "pretty" way I found:
The
CONGESTION_RECEIPT_FORWARDING_UNUSED_CAPACITY_GAS
metric describes how much gas we could've sent to another shard:This makes sense for sending between different shards (e.g 0 -> 1), but gas capacity is unlimited when sending between the same shard (e.g 0 -> 0), because of which the metric has extremely large values when
sender_shard_id = receiver_shard_id
. When one timeseries has large values, Grafana adjusts the visualisation to fit them, which means that the y axis has very large values, which causes the real, non-infinite values to be almost invisible at the bottom.I couldn't find a way to easily filter out timeseries where
sender_shard_id == receiver_shard_id
, this the most "pretty" way I found:Let's not set this metric when sender and receiver are the same, it'll save a lot of headache on the Grafana side.
/cc @jakmeier