Network bridge metrics (#2818)

* add metrics (unused) to network bridge

* fix test compilation

* trigger metrics messages

* add some more metrics

* track sent and received notifications

* restore metrics import

* integrate into service

* Update node/network/bridge/src/lib.rs

Co-authored-by: Andronik Ordian <write@reusable.software>

* Update node/network/bridge/src/lib.rs

Co-authored-by: Andronik Ordian <write@reusable.software>

Co-authored-by: Andronik Ordian <write@reusable.software>
This commit is contained in:
Robert Habermeier
2021-04-05 01:07:05 +02:00
committed by GitHub
parent 4df29e71ab
commit ec5ad35e14
5 changed files with 214 additions and 16 deletions
+7 -1
View File
@@ -50,6 +50,7 @@ pub(crate) async fn send_message<M, I>(
peers: I,
peer_set: PeerSet,
message: M,
metrics: &super::Metrics,
) -> SubsystemResult<()>
where
M: Encode + Clone,
@@ -59,7 +60,12 @@ where
let mut message_producer = stream::iter({
let peers = peers.into_iter();
let n_peers = peers.len();
let mut message = Some(message.encode());
let mut message = {
let encoded = message.encode();
metrics.on_notification_sent(peer_set, encoded.len(), n_peers);
Some(encoded)
};
peers.enumerate().map(move |(i, peer)| {
// optimization: avoid cloning the message for the last peer in the