Skip to content

Commit 3731f9f

Browse files
apollo_network_benchmark: added network metrics to network manager
1 parent 3b2e887 commit 3731f9f

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

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

Lines changed: 17 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 => {
@@ -17,6 +18,10 @@ define_metrics!(
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" },
1920

21+
// network metrics from the network manager
22+
MetricGauge { NETWORK_CONNECTED_PEERS, "network_connected_peers", "Number of connected peers in the network" },
23+
MetricGauge { NETWORK_BLACKLISTED_PEERS, "network_blacklisted_peers", "Number of blacklisted peers in the network" },
24+
2025
// system metrics for the node
2126
MetricGauge { SYSTEM_TOTAL_MEMORY_BYTES, "system_total_memory_bytes", "Total system memory in bytes" },
2227
MetricGauge { SYSTEM_AVAILABLE_MEMORY_BYTES, "system_available_memory_bytes", "Available system memory in bytes" },
@@ -54,3 +59,15 @@ pub fn get_throughput(message_size_bytes: usize, heartbeat_duration: Duration) -
5459
let tps = Duration::from_secs(1).as_secs_f64() / heartbeat_duration.as_secs_f64();
5560
tps * message_size_bytes.into_f64()
5661
}
62+
63+
/// Creates barebones network metrics
64+
pub fn create_network_metrics() -> apollo_network::metrics::NetworkMetrics {
65+
NetworkMetrics {
66+
num_connected_peers: NETWORK_CONNECTED_PEERS,
67+
num_blacklisted_peers: NETWORK_BLACKLISTED_PEERS,
68+
broadcast_metrics_by_topic: None,
69+
sqmr_metrics: None,
70+
event_metrics: None,
71+
latency_metrics: None,
72+
}
73+
}

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)