Skip to content

Commit f09fc5f

Browse files
authored
chore: track relay request latency (#778)
## 📝 Summary Track relay request latency. ## ✅ I have completed the following steps: * [x] Run `make lint` * [x] Run `make test` * [ ] Added tests (if applicable)
1 parent a6c6e78 commit f09fc5f

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

crates/rbuilder/src/mev_boost/optimistic_v3.rs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,12 @@ use rbuilder_primitives::mev_boost::{
1515
};
1616
use schnellru::{ByLength, LruMap};
1717
use ssz::{Decode as _, Encode};
18-
use std::{collections::HashSet, net::SocketAddr, sync::Arc, time::Instant};
18+
use std::{
19+
collections::HashSet,
20+
net::SocketAddr,
21+
sync::Arc,
22+
time::{Duration, Instant, SystemTime},
23+
};
1924
use tokio_stream::wrappers::{errors::BroadcastStreamRecvError, BroadcastStream};
2025
use tracing::*;
2126
use warp::{
@@ -25,6 +30,11 @@ use warp::{
2530

2631
register_metrics! {
2732
pub static REQUESTS_TOTAL: IntCounter = IntCounter::new("relay_server_requests", "The total number of requests on the optimistic V3 relay server").unwrap();
33+
pub static RELAY_REQUEST_LATENCY: HistogramVec = HistogramVec::new(
34+
HistogramOpts::new("relay_server_relay_request_latency", "The number of milliseconds elapsed since relay request timestamp")
35+
.buckets(exponential_buckets_range(0.01, 300.0, 200)),
36+
&[]
37+
).unwrap();
2838
pub static RESPONSE_LATENCY: HistogramVec = HistogramVec::new(
2939
HistogramOpts::new("relay_server_response_latency", "The number of milliseconds for returning optimistic V3 relay response")
3040
.buckets(exponential_buckets_range(0.01, 300.0, 200)),
@@ -136,6 +146,14 @@ impl Handler {
136146
return Err(StatusCode::BAD_REQUEST);
137147
};
138148

149+
if let Ok(relay_latency) = SystemTime::now().duration_since(
150+
std::time::UNIX_EPOCH + Duration::from_millis(request.message.request_ts),
151+
) {
152+
RELAY_REQUEST_LATENCY
153+
.with_label_values(&[])
154+
.observe(relay_latency.as_millis() as f64);
155+
}
156+
139157
let relay_pubkey = request.message.relay_public_key;
140158
let block_hash = request.message.block_hash;
141159
debug!(target: "relay_server", %relay_pubkey, %block_hash, "Serving get payload request");

0 commit comments

Comments
 (0)