Skip to content

Commit 15e099b

Browse files
apollo_network_benchmark: added network metrics to network manager
1 parent 64fc04b commit 15e099b

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

crates/apollo_network_benchmark/src/bin/broadcast_network_stress_test_node/metrics.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use std::time::Duration;
22

33
use apollo_metrics::define_metrics;
44
use apollo_metrics::metrics::LossyIntoF64;
5+
use apollo_network::metrics::NetworkMetrics;
56

67
define_metrics!(
78
Infra => {
@@ -16,6 +17,9 @@ define_metrics!(
1617
MetricCounter { RECEIVE_MESSAGE_COUNT, "receive_message_count", "Number of stress test messages received via broadcast", init = 0 },
1718
MetricCounter { RECEIVE_MESSAGE_BYTES_SUM, "receive_message_bytes_sum", "Sum of the stress test messages received via broadcast", init = 0 },
1819
MetricHistogram { RECEIVE_MESSAGE_DELAY_SECONDS, "receive_message_delay_seconds", "Message delay in seconds" },
20+
21+
MetricGauge { NETWORK_CONNECTED_PEERS, "network_connected_peers", "Number of connected peers in the network" },
22+
MetricGauge { NETWORK_BLACKLISTED_PEERS, "network_blacklisted_peers", "Number of blacklisted peers in the network" },
1923
},
2024
);
2125

@@ -37,3 +41,15 @@ pub fn get_throughput(message_size_bytes: usize, heartbeat_duration: Duration) -
3741
let tps = Duration::from_secs(1).as_secs_f64() / heartbeat_duration.as_secs_f64();
3842
tps * message_size_bytes.into_f64()
3943
}
44+
45+
/// Creates barebones network metrics
46+
pub fn create_network_metrics() -> apollo_network::metrics::NetworkMetrics {
47+
NetworkMetrics {
48+
num_connected_peers: NETWORK_CONNECTED_PEERS,
49+
num_blacklisted_peers: NETWORK_BLACKLISTED_PEERS,
50+
broadcast_metrics_by_topic: None,
51+
sqmr_metrics: None,
52+
event_metrics: None,
53+
latency_metrics: None,
54+
}
55+
}

crates/apollo_network_benchmark/src/bin/broadcast_network_stress_test_node/stress_test_node.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use tokio::task::JoinHandle;
1212
use tracing::{info, warn};
1313

1414
use crate::handlers::{receive_stress_test_message, send_stress_test_messages};
15+
use crate::metrics::create_network_metrics;
1516
use crate::protocol::{register_protocol_channels, MessageReceiver, MessageSender};
1617

1718
/// The main stress test node that manages network communication and monitoring
@@ -56,7 +57,9 @@ impl BroadcastNetworkStressTestNode {
5657
let network_config = Self::create_network_config(&args);
5758

5859
// Create network manager
59-
let mut network_manager = NetworkManager::new(network_config.clone(), None, None);
60+
let network_metrics = create_network_metrics();
61+
let mut network_manager =
62+
NetworkManager::new(network_config.clone(), None, Some(network_metrics));
6063

6164
// Register protocol channels
6265
let (message_sender, message_receiver) = register_protocol_channels(

0 commit comments

Comments
 (0)