Skip to content

Commit 5963349

Browse files
committed
Add number of validators registered among number of relays
1 parent 43db9c3 commit 5963349

File tree

1 file changed

+32
-6
lines changed

1 file changed

+32
-6
lines changed

crates/pbs/src/mev_boost/register_validator.rs

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
use std::time::{Duration, Instant};
1+
use std::{
2+
collections::HashSet,
3+
time::{Duration, Instant},
4+
};
25

36
use alloy::rpc::types::beacon::relay::ValidatorRegistration;
47
use axum::http::{HeaderMap, HeaderValue};
@@ -32,8 +35,16 @@ pub async fn register_validator<S: BuilderApiState>(
3235
.insert(HEADER_START_TIME_UNIX_MS, HeaderValue::from_str(&utcnow_ms().to_string())?);
3336
send_headers.insert(USER_AGENT, get_user_agent_with_version(&req_headers)?);
3437

38+
let num_validators = registrations
39+
.iter()
40+
.map(|registration| registration.message.pubkey)
41+
.collect::<HashSet<_>>()
42+
.len();
43+
3544
let relays = state.all_relays().to_vec();
3645
let mut handles = Vec::with_capacity(relays.len());
46+
let start_register = Instant::now();
47+
3748
for relay in relays {
3849
handles.push(tokio::spawn(
3950
send_register_validator_with_timeout(
@@ -49,9 +60,16 @@ pub async fn register_validator<S: BuilderApiState>(
4960
if state.pbs_config().wait_all_registrations {
5061
// wait for all relays registrations to complete
5162
let results = join_all(handles).await;
52-
let successful = results.iter().flatten().filter(|res| res.is_ok()).count();
53-
if successful > 0 {
54-
info!(num_registrations = successful, "all relay registrations finished");
63+
let total_latency = start_register.elapsed();
64+
65+
let successful_responses = results.iter().flatten().filter(|res| res.is_ok()).count();
66+
if successful_responses > 0 {
67+
info!(
68+
num_responses = successful_responses,
69+
num_registrations = num_validators,
70+
total_latency = ?total_latency,
71+
"all relay registrations finished"
72+
);
5573
Ok(())
5674
} else {
5775
bail!("No relay passed register_validator successfully")
@@ -71,9 +89,17 @@ pub async fn register_validator<S: BuilderApiState>(
7189
tokio::spawn(
7290
async move {
7391
let results = join_all(handles).await;
92+
let total_latency = start_register.elapsed();
93+
7494
// successful + 1 since we had one success above
75-
let successful = 1 + results.iter().flatten().filter(|res| res.is_ok()).count();
76-
info!(num_registrations = successful, "all relay registrations finished");
95+
let successful_responses =
96+
1 + results.iter().flatten().filter(|res| res.is_ok()).count();
97+
info!(
98+
num_relays = successful_responses,
99+
num_registrations = num_validators,
100+
total_latency = ?total_latency,
101+
"all relay registrations finished"
102+
);
77103
}
78104
.in_current_span(),
79105
);

0 commit comments

Comments
 (0)