diff --git a/waku/waku_relay/protocol.nim b/waku/waku_relay/protocol.nim index 9e2b46afe..d30bc1a88 100644 --- a/waku/waku_relay/protocol.nim +++ b/waku/waku_relay/protocol.nim @@ -45,6 +45,25 @@ declarePublicGauge( labels = ["shard"], ) +# New metrics for fleet store nodes +declarePublicGauge( + waku_relay_fleet_store_msg_size_bytes, + "Total size of messages stored by fleet store nodes per shard", + labels = ["shard"], +) + +declarePublicGauge( + waku_relay_fleet_store_msg_count, + "Number of messages stored by fleet store nodes per shard", + labels = ["shard"], +) + +declarePublicGauge( + waku_relay_fleet_store_oldest_msg_timestamp, + "Oldest message timestamp stored by fleet store nodes per shard", + labels = ["shard"], +) + # see: https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md#overview-of-new-parameters const TopicParameters = TopicParams( topicWeight: 1, diff --git a/waku/waku_store/client.nim b/waku/waku_store/client.nim index 082120823..bc9131033 100644 --- a/waku/waku_store/client.nim +++ b/waku/waku_store/client.nim @@ -46,6 +46,11 @@ proc sendStoreRequest( waku_store_errors.inc(labelValues = [NoSuccessStatusCode]) return err(StoreError.new(res.statusCode, res.statusDesc)) + waku_relay_fleet_store_msg_size_bytes.inc( + res.messages.len.float64, labelValues = [request.pubsubTopic.get()] + ) + waku_relay_fleet_store_msg_count.inc(1.0, labelValues = [request.pubsubTopic.get()]) + return ok(res) proc query*( diff --git a/waku/waku_store/protocol_metrics.nim b/waku/waku_store/protocol_metrics.nim index 5d9e69420..ae4c7d878 100644 --- a/waku/waku_store/protocol_metrics.nim +++ b/waku/waku_store/protocol_metrics.nim @@ -10,6 +10,19 @@ declarePublicGauge waku_store_queries, "number of store queries received" declarePublicGauge waku_store_time_seconds, "Time in seconds spent by each store phase", labels = ["phase"] +# New metrics for fleet store nodes +declarePublicGauge( + waku_relay_fleet_store_msg_size_bytes, + "Total size of messages stored by fleet store nodes per shard", + labels = ["shard"], +) + +declarePublicGauge( + waku_relay_fleet_store_msg_count, + "Number of messages stored by fleet store nodes per shard", + labels = ["shard"], +) + # Error types (metric label values) const DialFailure* = "dial_failure"