From 3c1df25827df66f6609aac7b4f9adcde106a7a0b Mon Sep 17 00:00:00 2001 From: Andrew Luka Date: Wed, 18 Feb 2026 22:01:13 +0200 Subject: [PATCH] apollo_network_benchmark: moved metric declerations to crate --- .../apollo_network_benchmark_node/metrics.rs | 33 +------------------ crates/apollo_network_benchmark/src/lib.rs | 1 + .../apollo_network_benchmark/src/metrics.rs | 30 +++++++++++++++++ 3 files changed, 32 insertions(+), 32 deletions(-) create mode 100644 crates/apollo_network_benchmark/src/metrics.rs diff --git a/crates/apollo_network_benchmark/src/bin/apollo_network_benchmark_node/metrics.rs b/crates/apollo_network_benchmark/src/bin/apollo_network_benchmark_node/metrics.rs index b63f5d15b9c..340587dd2ca 100644 --- a/crates/apollo_network_benchmark/src/bin/apollo_network_benchmark_node/metrics.rs +++ b/crates/apollo_network_benchmark/src/bin/apollo_network_benchmark_node/metrics.rs @@ -1,7 +1,6 @@ use std::collections::HashMap; use std::time::{Duration, SystemTime, UNIX_EPOCH}; -use apollo_metrics::define_metrics; use apollo_metrics::metrics::LossyIntoF64; use apollo_network::metrics::{ BroadcastNetworkMetrics, @@ -9,40 +8,11 @@ use apollo_network::metrics::{ LatencyMetrics, NetworkMetrics, SqmrNetworkMetrics, - EVENT_TYPE_LABELS, - NETWORK_BROADCAST_DROP_LABELS, }; +pub use apollo_network_benchmark::metrics::*; use crate::protocol::TOPIC; -define_metrics!( - Infra => { - MetricGauge { BROADCAST_MESSAGE_HEARTBEAT_MILLIS, "broadcast_message_theoretical_heartbeat_millis", "The number of ms we sleep between each two consecutive broadcasts" }, - MetricGauge { BROADCAST_MESSAGE_THROUGHPUT, "broadcast_message_theoretical_throughput", "Throughput in bytes/second of the broadcasted messages" }, - MetricGauge { BROADCAST_MESSAGE_BYTES, "broadcast_message_bytes", "Size of the stress test sent message in bytes" }, - MetricCounter { BROADCAST_MESSAGE_COUNT, "broadcast_message_count", "Number of stress test messages sent via broadcast", init = 0 }, - MetricCounter { BROADCAST_MESSAGE_BYTES_SUM, "broadcast_message_bytes_sum", "Sum of the stress test messages sent via broadcast", init = 0 }, - MetricHistogram { BROADCAST_MESSAGE_SEND_DELAY_SECONDS, "broadcast_message_send_delay_seconds", "Message sending delay in seconds" }, - - MetricGauge { RECEIVE_MESSAGE_BYTES, "receive_message_bytes", "Size of the stress test received message in bytes" }, - MetricCounter { RECEIVE_MESSAGE_COUNT, "receive_message_count", "Number of stress test messages received via broadcast", init = 0 }, - MetricCounter { RECEIVE_MESSAGE_BYTES_SUM, "receive_message_bytes_sum", "Sum of the stress test messages received via broadcast", init = 0 }, - MetricHistogram { RECEIVE_MESSAGE_DELAY_SECONDS, "receive_message_delay_seconds", "Message delay in seconds" }, - MetricGauge { RECEIVE_MESSAGE_PENDING_COUNT, "receive_message_pending_count", "Number of stress test messages pending to be received" }, - - MetricGauge { NETWORK_CONNECTED_PEERS, "network_connected_peers", "Number of connected peers in the network" }, - MetricGauge { NETWORK_BLACKLISTED_PEERS, "network_blacklisted_peers", "Number of blacklisted peers in the network" }, - MetricGauge { NETWORK_ACTIVE_INBOUND_SESSIONS, "network_active_inbound_sessions", "Number of active inbound SQMR sessions" }, - MetricGauge { NETWORK_ACTIVE_OUTBOUND_SESSIONS, "network_active_outbound_sessions", "Number of active outbound SQMR sessions" }, - MetricCounter { NETWORK_STRESS_TEST_SENT_MESSAGES, "network_stress_test_sent_messages", "Number of stress test messages sent via broadcast", init = 0 }, - MetricCounter { NETWORK_STRESS_TEST_RECEIVED_MESSAGES, "network_stress_test_received_messages", "Number of stress test messages received via broadcast", init = 0 }, - LabeledMetricCounter { NETWORK_DROPPED_BROADCAST_MESSAGES, "network_dropped_broadcast_messages", "Number of dropped broadcast messages by reason", init = 0, labels = NETWORK_BROADCAST_DROP_LABELS }, - LabeledMetricCounter { NETWORK_EVENT_COUNTER, "network_event_counter", "Network events counter by type", init = 0, labels = EVENT_TYPE_LABELS }, - - MetricHistogram { PING_LATENCY_SECONDS, "ping_latency_seconds", "Ping latency in seconds" }, - }, -); - pub(crate) fn register_metrics() { BROADCAST_MESSAGE_HEARTBEAT_MILLIS.register(); BROADCAST_MESSAGE_THROUGHPUT.register(); @@ -56,7 +26,6 @@ pub(crate) fn register_metrics() { RECEIVE_MESSAGE_DELAY_SECONDS.register(); } -/// Calculates the throughput given the message size and heartbeat duration pub fn get_throughput(message_size_bytes: usize, heartbeat_duration: Duration) -> f64 { let tps = Duration::from_secs(1).as_secs_f64() / heartbeat_duration.as_secs_f64(); tps * message_size_bytes.into_f64() diff --git a/crates/apollo_network_benchmark/src/lib.rs b/crates/apollo_network_benchmark/src/lib.rs index 6dfaa542ee2..a4a8ee61087 100644 --- a/crates/apollo_network_benchmark/src/lib.rs +++ b/crates/apollo_network_benchmark/src/lib.rs @@ -1 +1,2 @@ +pub mod metrics; pub mod node_args; diff --git a/crates/apollo_network_benchmark/src/metrics.rs b/crates/apollo_network_benchmark/src/metrics.rs new file mode 100644 index 00000000000..d3443edbea7 --- /dev/null +++ b/crates/apollo_network_benchmark/src/metrics.rs @@ -0,0 +1,30 @@ +use apollo_metrics::define_metrics; +use apollo_network::metrics::{EVENT_TYPE_LABELS, NETWORK_BROADCAST_DROP_LABELS}; + +define_metrics!( + Infra => { + MetricGauge { BROADCAST_MESSAGE_HEARTBEAT_MILLIS, "broadcast_message_theoretical_heartbeat_millis", "The number of ms we sleep between each two consecutive broadcasts" }, + MetricGauge { BROADCAST_MESSAGE_THROUGHPUT, "broadcast_message_theoretical_throughput", "Throughput in bytes/second of the broadcasted messages" }, + MetricGauge { BROADCAST_MESSAGE_BYTES, "broadcast_message_bytes", "Size of the stress test sent message in bytes" }, + MetricCounter { BROADCAST_MESSAGE_COUNT, "broadcast_message_count", "Number of stress test messages sent via broadcast", init = 0 }, + MetricCounter { BROADCAST_MESSAGE_BYTES_SUM, "broadcast_message_bytes_sum", "Sum of the stress test messages sent via broadcast", init = 0 }, + MetricHistogram { BROADCAST_MESSAGE_SEND_DELAY_SECONDS, "broadcast_message_send_delay_seconds", "Message sending delay in seconds" }, + + MetricGauge { RECEIVE_MESSAGE_BYTES, "receive_message_bytes", "Size of the stress test received message in bytes" }, + MetricCounter { RECEIVE_MESSAGE_COUNT, "receive_message_count", "Number of stress test messages received via broadcast", init = 0 }, + MetricCounter { RECEIVE_MESSAGE_BYTES_SUM, "receive_message_bytes_sum", "Sum of the stress test messages received via broadcast", init = 0 }, + MetricHistogram { RECEIVE_MESSAGE_DELAY_SECONDS, "receive_message_delay_seconds", "Message delay in seconds" }, + MetricGauge { RECEIVE_MESSAGE_PENDING_COUNT, "receive_message_pending_count", "Number of stress test messages pending to be received" }, + + MetricGauge { NETWORK_CONNECTED_PEERS, "network_connected_peers", "Number of connected peers in the network" }, + MetricGauge { NETWORK_BLACKLISTED_PEERS, "network_blacklisted_peers", "Number of blacklisted peers in the network" }, + MetricGauge { NETWORK_ACTIVE_INBOUND_SESSIONS, "network_active_inbound_sessions", "Number of active inbound SQMR sessions" }, + MetricGauge { NETWORK_ACTIVE_OUTBOUND_SESSIONS, "network_active_outbound_sessions", "Number of active outbound SQMR sessions" }, + MetricCounter { NETWORK_STRESS_TEST_SENT_MESSAGES, "network_stress_test_sent_messages", "Number of stress test messages sent via broadcast", init = 0 }, + MetricCounter { NETWORK_STRESS_TEST_RECEIVED_MESSAGES, "network_stress_test_received_messages", "Number of stress test messages received via broadcast", init = 0 }, + LabeledMetricCounter { NETWORK_DROPPED_BROADCAST_MESSAGES, "network_dropped_broadcast_messages", "Number of dropped broadcast messages by reason", init = 0, labels = NETWORK_BROADCAST_DROP_LABELS }, + LabeledMetricCounter { NETWORK_EVENT_COUNTER, "network_event_counter", "Network events counter by type", init = 0, labels = EVENT_TYPE_LABELS }, + + MetricHistogram { PING_LATENCY_SECONDS, "ping_latency_seconds", "Ping latency in seconds" }, + }, +);