Skip to content

Commit bc15f6a

Browse files
apollo_network_benchmark: added network metrics to network manager
1 parent 2aae34d commit bc15f6a

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" },
@@ -41,3 +46,15 @@ pub fn get_throughput(message_size_bytes: usize, heartbeat_duration: Duration) -
4146
let tps = Duration::from_secs(1).as_secs_f64() / heartbeat_duration.as_secs_f64();
4247
tps * message_size_bytes.into_f64()
4348
}
49+
50+
/// Creates barebones network metrics
51+
pub fn create_network_metrics() -> apollo_network::metrics::NetworkMetrics {
52+
NetworkMetrics {
53+
num_connected_peers: NETWORK_CONNECTED_PEERS,
54+
num_blacklisted_peers: NETWORK_BLACKLISTED_PEERS,
55+
broadcast_metrics_by_topic: None,
56+
sqmr_metrics: None,
57+
event_metrics: None,
58+
latency_metrics: None,
59+
}
60+
}

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)