Skip to content

Commit 2d9dcd6

Browse files
apollo_network_benchmark: added broadcast topic metrics
1 parent 3731f9f commit 2d9dcd6

File tree

1 file changed

+32
-2
lines changed
  • crates/apollo_network_benchmark/src/bin/broadcast_network_stress_test_node

1 file changed

+32
-2
lines changed

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

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1+
use std::collections::HashMap;
12
use std::time::Duration;
23

34
use apollo_metrics::define_metrics;
45
use apollo_metrics::metrics::LossyIntoF64;
5-
use apollo_network::metrics::NetworkMetrics;
6+
use apollo_network::metrics::{
7+
BroadcastNetworkMetrics,
8+
NetworkMetrics,
9+
NETWORK_BROADCAST_DROP_LABELS,
10+
};
11+
12+
use crate::protocol::TOPIC;
613

714
define_metrics!(
815
Infra => {
@@ -21,6 +28,9 @@ define_metrics!(
2128
// network metrics from the network manager
2229
MetricGauge { NETWORK_CONNECTED_PEERS, "network_connected_peers", "Number of connected peers in the network" },
2330
MetricGauge { NETWORK_BLACKLISTED_PEERS, "network_blacklisted_peers", "Number of blacklisted peers in the network" },
31+
MetricCounter { NETWORK_STRESS_TEST_SENT_MESSAGES, "network_stress_test_sent_messages", "Number of stress test messages sent via broadcast", init = 0 },
32+
MetricCounter { NETWORK_STRESS_TEST_RECEIVED_MESSAGES, "network_stress_test_received_messages", "Number of stress test messages received via broadcast", init = 0 },
33+
LabeledMetricCounter { NETWORK_DROPPED_BROADCAST_MESSAGES, "network_dropped_broadcast_messages", "Number of dropped broadcast messages by reason", init = 0, labels = NETWORK_BROADCAST_DROP_LABELS },
2434

2535
// system metrics for the node
2636
MetricGauge { SYSTEM_TOTAL_MEMORY_BYTES, "system_total_memory_bytes", "Total system memory in bytes" },
@@ -62,10 +72,30 @@ pub fn get_throughput(message_size_bytes: usize, heartbeat_duration: Duration) -
6272

6373
/// Creates barebones network metrics
6474
pub fn create_network_metrics() -> apollo_network::metrics::NetworkMetrics {
75+
// Create broadcast metrics for the stress test topic
76+
let stress_test_broadcast_metrics = BroadcastNetworkMetrics {
77+
sent_broadcast_message_metrics: apollo_network::metrics::MessageMetrics {
78+
num_messages: NETWORK_STRESS_TEST_SENT_MESSAGES,
79+
message_size_mb: None,
80+
},
81+
dropped_broadcast_message_metrics: apollo_network::metrics::LabeledMessageMetrics {
82+
num_messages: NETWORK_DROPPED_BROADCAST_MESSAGES,
83+
message_size_mb: None,
84+
},
85+
received_broadcast_message_metrics: apollo_network::metrics::MessageMetrics {
86+
num_messages: NETWORK_STRESS_TEST_RECEIVED_MESSAGES,
87+
message_size_mb: None,
88+
},
89+
};
90+
91+
// Create a map with broadcast metrics for our stress test topic
92+
let mut broadcast_metrics_by_topic = HashMap::new();
93+
broadcast_metrics_by_topic.insert(TOPIC.hash(), stress_test_broadcast_metrics);
94+
6595
NetworkMetrics {
6696
num_connected_peers: NETWORK_CONNECTED_PEERS,
6797
num_blacklisted_peers: NETWORK_BLACKLISTED_PEERS,
68-
broadcast_metrics_by_topic: None,
98+
broadcast_metrics_by_topic: Some(broadcast_metrics_by_topic),
6999
sqmr_metrics: None,
70100
event_metrics: None,
71101
latency_metrics: None,

0 commit comments

Comments
 (0)