Skip to content

Commit 75b055a

Browse files
committed
feat(logs): flashblock target and events with payload_id
1 parent 0000722 commit 75b055a

2 files changed

Lines changed: 37 additions & 10 deletions

File tree

crates/rollup-boost/src/flashblocks/service.rs

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ impl FlashblockBuilder {
6868
}
6969

7070
pub fn extend(&mut self, payload: FlashblocksPayloadV1) -> Result<(), FlashblocksError> {
71-
tracing::debug!(message = "Extending payload", payload_id = %payload.payload_id, index = payload.index, has_base=payload.base.is_some());
71+
tracing::debug!(target: "flashblocks", message = "Extending payload", payload_id = %payload.payload_id, index = payload.index, has_base=payload.base.is_some());
7272

7373
// Validate the index is contiguous
7474
if payload.index != self.flashblocks.len() as u64 {
@@ -242,7 +242,7 @@ impl FlashblocksService {
242242
}
243243

244244
pub async fn set_current_payload_id(&self, payload_id: PayloadId) {
245-
tracing::debug!(message = "Setting current payload ID", payload_id = %payload_id);
245+
tracing::debug!(target: "flashblocks", message = "Setting current payload ID", payload_id = %payload_id);
246246
*self.current_payload_id.write().await = Some(payload_id);
247247
// Current state won't be useful anymore because chain progressed
248248
*self.best_payload.write().await = FlashblockBuilder::new();
@@ -253,7 +253,9 @@ impl FlashblocksService {
253253
FlashblocksEngineMessage::FlashblocksPayloadV1(payload) => {
254254
self.metrics.messages_processed.increment(1);
255255

256-
tracing::debug!(
256+
info!(
257+
target: "flashblocks",
258+
event = "flashblock_received",
257259
message = "Received flashblock payload",
258260
payload_id = %payload.payload_id,
259261
index = payload.index
@@ -266,6 +268,7 @@ impl FlashblocksService {
266268
if payload_id != payload.payload_id {
267269
self.metrics.current_payload_id_mismatch.increment(1);
268270
error!(
271+
target: "flashblocks",
269272
message = "Payload ID mismatch",
270273
payload_id = %payload.payload_id,
271274
local_payload_id = %payload_id,
@@ -277,6 +280,7 @@ impl FlashblocksService {
277280
None => {
278281
// We haven't served FCU with attributes yet, just ignore flashblocks
279282
debug!(
283+
target: "flashblocks",
280284
message = "Received flashblocks, but no FCU with attributes was sent",
281285
payload_id = %payload.payload_id,
282286
index = payload.index,
@@ -288,6 +292,7 @@ impl FlashblocksService {
288292
if let Err(e) = self.best_payload.write().await.extend(payload.clone()) {
289293
self.metrics.extend_payload_errors.increment(1);
290294
error!(
295+
target: "flashblocks",
291296
message = "Failed to extend payload",
292297
error = %e,
293298
payload_id = %payload.payload_id,
@@ -297,6 +302,7 @@ impl FlashblocksService {
297302
// Broadcast the valid message
298303
if let Err(e) = self.ws_pub.publish(&payload) {
299304
error!(
305+
target: "flashblocks",
300306
message = "Failed to broadcast payload",
301307
error = %e,
302308
payload_id = %payload.payload_id,
@@ -338,16 +344,17 @@ impl EngineApiExt for FlashblocksService {
338344
let current_payload = *self.current_payload_id.read().await;
339345
if current_payload != Some(payload_id) {
340346
tracing::error!(
347+
target: "flashblocks",
341348
message = "Payload id returned by builder differs from calculated. Using builder payload id",
342349
builder_payload_id = %payload_id,
343350
calculated_payload_id = %current_payload.unwrap_or_default(),
344351
);
345352
self.set_current_payload_id(payload_id).await;
346353
} else {
347-
tracing::debug!(message = "Forkchoice updated", payload_id = %payload_id);
354+
tracing::debug!(target: "flashblocks", message = "Forkchoice updated", payload_id = %payload_id);
348355
}
349356
} else {
350-
tracing::debug!(message = "Forkchoice updated with no payload ID");
357+
tracing::debug!(target: "flashblocks", message = "Forkchoice updated with no payload ID");
351358
}
352359
Ok(resp)
353360
}
@@ -365,12 +372,18 @@ impl EngineApiExt for FlashblocksService {
365372

366373
match self.get_best_payload(version, payload_id).await {
367374
Ok(payload) => {
368-
info!(message = "Returning fb payload");
375+
info!(
376+
target: "flashblocks",
377+
event = "payload_returned",
378+
message = "Returning fb payload",
379+
%payload_id,
380+
);
369381
// This will finalise block building in builder.
370382
let client = self.client.clone();
371383
tokio::spawn(async move {
372384
if let Err(e) = client.get_payload(payload_id, version).await {
373385
error!(
386+
target: "flashblocks",
374387
message = "Failed to send finalising getPayload to builder",
375388
error = %e,
376389
);
@@ -379,8 +392,8 @@ impl EngineApiExt for FlashblocksService {
379392
Ok(payload)
380393
}
381394
Err(e) => {
382-
error!(message = "Error getting fb best payload, falling back on client", error = %e);
383-
info!(message = "Falling back to get_payload on client", payload_id = %payload_id);
395+
error!(target: "flashblocks", message = "Error getting fb best payload, falling back on client", error = %e);
396+
info!(target: "flashblocks", message = "Falling back to get_payload on client", payload_id = %payload_id);
384397
let result = self.client.get_payload(payload_id, version).await?;
385398
Ok(result)
386399
}

crates/rollup-boost/src/server.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ where
157157

158158
let execution_payload = ExecutionPayload::from(payload.clone());
159159
info!(
160+
target: "payload_builder",
161+
event = "payload_returned",
160162
message = "returning block",
161163
"hash" = %execution_payload.block_hash(),
162164
"number" = %execution_payload.block_number(),
@@ -274,6 +276,8 @@ where
274276
// While not ideal to rely on log parsing, it provides a reliable way to verify behavior.
275277
// Happy to consider an alternative approach later on.
276278
info!(
279+
target: "payload_builder",
280+
event = "payload_returned",
277281
message = "returning block",
278282
"hash" = %block_hash,
279283
"number" = %block_number,
@@ -545,7 +549,12 @@ where
545549
&self,
546550
payload_id: PayloadId,
547551
) -> RpcResult<OpExecutionPayloadEnvelopeV3> {
548-
info!("received get_payload_v3");
552+
info!(
553+
target: "payload_builder",
554+
event = "get_payload_received",
555+
message = "received get_payload_v3",
556+
%payload_id,
557+
);
549558

550559
match self.get_payload(payload_id, PayloadVersion::V3).await? {
551560
OpExecutionPayloadEnvelope::V3(v3) => Ok(v3),
@@ -595,7 +604,12 @@ where
595604
&self,
596605
payload_id: PayloadId,
597606
) -> RpcResult<OpExecutionPayloadEnvelopeV4> {
598-
info!("received get_payload_v4");
607+
info!(
608+
target: "payload_builder",
609+
event = "get_payload_received",
610+
message = "received get_payload_v4",
611+
%payload_id,
612+
);
599613

600614
match self.get_payload(payload_id, PayloadVersion::V4).await? {
601615
OpExecutionPayloadEnvelope::V4(v4) => Ok(v4),

0 commit comments

Comments
 (0)