Skip to content

Commit 1f0509d

Browse files
apollo_network_benchmark: added broadcast topic metrics
1 parent bc15f6a commit 1f0509d

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" },
@@ -49,10 +59,30 @@ pub fn get_throughput(message_size_bytes: usize, heartbeat_duration: Duration) -
4959

5060
/// Creates barebones network metrics
5161
pub fn create_network_metrics() -> apollo_network::metrics::NetworkMetrics {
62+
// Create broadcast metrics for the stress test topic
63+
let stress_test_broadcast_metrics = BroadcastNetworkMetrics {
64+
sent_broadcast_message_metrics: apollo_network::metrics::MessageMetrics {
65+
num_messages: NETWORK_STRESS_TEST_SENT_MESSAGES,
66+
message_size_mb: None,
67+
},
68+
dropped_broadcast_message_metrics: apollo_network::metrics::LabeledMessageMetrics {
69+
num_messages: NETWORK_DROPPED_BROADCAST_MESSAGES,
70+
message_size_mb: None,
71+
},
72+
received_broadcast_message_metrics: apollo_network::metrics::MessageMetrics {
73+
num_messages: NETWORK_STRESS_TEST_RECEIVED_MESSAGES,
74+
message_size_mb: None,
75+
},
76+
};
77+
78+
// Create a map with broadcast metrics for our stress test topic
79+
let mut broadcast_metrics_by_topic = HashMap::new();
80+
broadcast_metrics_by_topic.insert(TOPIC.hash(), stress_test_broadcast_metrics);
81+
5282
NetworkMetrics {
5383
num_connected_peers: NETWORK_CONNECTED_PEERS,
5484
num_blacklisted_peers: NETWORK_BLACKLISTED_PEERS,
55-
broadcast_metrics_by_topic: None,
85+
broadcast_metrics_by_topic: Some(broadcast_metrics_by_topic),
5686
sqmr_metrics: None,
5787
event_metrics: None,
5888
latency_metrics: None,

0 commit comments

Comments
 (0)