Skip to content

Commit 80eefda

Browse files
committed
feat(logs): flashblock target and events with payload_id
1 parent 6da64fc commit 80eefda

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
@@ -58,7 +58,7 @@ impl FlashblockBuilder {
5858
}
5959

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

6363
// Validate the index is contiguous
6464
if payload.index != self.flashblocks.len() as u64 {
@@ -232,7 +232,7 @@ impl FlashblocksService {
232232
}
233233

234234
pub async fn set_current_payload_id(&self, payload_id: PayloadId) {
235-
tracing::debug!(message = "Setting current payload ID", payload_id = %payload_id);
235+
tracing::debug!(target: "flashblocks", message = "Setting current payload ID", payload_id = %payload_id);
236236
*self.current_payload_id.write().await = Some(payload_id);
237237
// Current state won't be useful anymore because chain progressed
238238
*self.best_payload.write().await = FlashblockBuilder::new();
@@ -243,7 +243,9 @@ impl FlashblocksService {
243243
FlashblocksEngineMessage::OpFlashblockPayload(payload) => {
244244
self.metrics.messages_processed.increment(1);
245245

246-
tracing::debug!(
246+
info!(
247+
target: "flashblocks",
248+
event = "flashblock_received",
247249
message = "Received flashblock payload",
248250
payload_id = %payload.payload_id,
249251
index = payload.index
@@ -256,6 +258,7 @@ impl FlashblocksService {
256258
if payload_id != payload.payload_id {
257259
self.metrics.current_payload_id_mismatch.increment(1);
258260
error!(
261+
target: "flashblocks",
259262
message = "Payload ID mismatch",
260263
payload_id = %payload.payload_id,
261264
local_payload_id = %payload_id,
@@ -267,6 +270,7 @@ impl FlashblocksService {
267270
None => {
268271
// We haven't served FCU with attributes yet, just ignore flashblocks
269272
debug!(
273+
target: "flashblocks",
270274
message = "Received flashblocks, but no FCU with attributes was sent",
271275
payload_id = %payload.payload_id,
272276
index = payload.index,
@@ -278,6 +282,7 @@ impl FlashblocksService {
278282
if let Err(e) = self.best_payload.write().await.extend(payload.clone()) {
279283
self.metrics.extend_payload_errors.increment(1);
280284
error!(
285+
target: "flashblocks",
281286
message = "Failed to extend payload",
282287
error = %e,
283288
payload_id = %payload.payload_id,
@@ -287,6 +292,7 @@ impl FlashblocksService {
287292
// Broadcast the valid message
288293
if let Err(e) = self.ws_pub.publish(&payload) {
289294
error!(
295+
target: "flashblocks",
290296
message = "Failed to broadcast payload",
291297
error = %e,
292298
payload_id = %payload.payload_id,
@@ -328,16 +334,17 @@ impl EngineApiExt for FlashblocksService {
328334
let current_payload = *self.current_payload_id.read().await;
329335
if current_payload != Some(payload_id) {
330336
tracing::error!(
337+
target: "flashblocks",
331338
message = "Payload id returned by builder differs from calculated. Using builder payload id",
332339
builder_payload_id = %payload_id,
333340
calculated_payload_id = %current_payload.unwrap_or_default(),
334341
);
335342
self.set_current_payload_id(payload_id).await;
336343
} else {
337-
tracing::debug!(message = "Forkchoice updated", payload_id = %payload_id);
344+
tracing::debug!(target: "flashblocks", message = "Forkchoice updated", payload_id = %payload_id);
338345
}
339346
} else {
340-
tracing::debug!(message = "Forkchoice updated with no payload ID");
347+
tracing::debug!(target: "flashblocks", message = "Forkchoice updated with no payload ID");
341348
}
342349
Ok(resp)
343350
}
@@ -355,12 +362,18 @@ impl EngineApiExt for FlashblocksService {
355362

356363
match self.get_best_payload(version, payload_id).await {
357364
Ok(payload) => {
358-
info!(message = "Returning fb payload");
365+
info!(
366+
target: "flashblocks",
367+
event = "payload_returned",
368+
message = "Returning fb payload",
369+
%payload_id,
370+
);
359371
// This will finalise block building in builder.
360372
let client = self.client.clone();
361373
tokio::spawn(async move {
362374
if let Err(e) = client.get_payload(payload_id, version).await {
363375
error!(
376+
target: "flashblocks",
364377
message = "Failed to send finalising getPayload to builder",
365378
error = %e,
366379
);
@@ -369,8 +382,8 @@ impl EngineApiExt for FlashblocksService {
369382
Ok(payload)
370383
}
371384
Err(e) => {
372-
error!(message = "Error getting fb best payload, falling back on client", error = %e);
373-
info!(message = "Falling back to get_payload on client", payload_id = %payload_id);
385+
error!(target: "flashblocks", message = "Error getting fb best payload, falling back on client", error = %e);
386+
info!(target: "flashblocks", message = "Falling back to get_payload on client", payload_id = %payload_id);
374387
let result = self.client.get_payload(payload_id, version).await?;
375388
Ok(result)
376389
}

crates/rollup-boost/src/server.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,8 @@ impl<T: EngineApiExt> RollupBoostServer<T> {
240240

241241
let execution_payload = ExecutionPayload::from(payload.clone());
242242
info!(
243+
target: "server",
244+
event = "payload_returned",
243245
message = "returning block",
244246
"hash" = %execution_payload.block_hash(),
245247
"number" = %execution_payload.block_number(),
@@ -377,6 +379,8 @@ impl<T: EngineApiExt> RollupBoostServer<T> {
377379
// While not ideal to rely on log parsing, it provides a reliable way to verify behavior.
378380
// Happy to consider an alternative approach later on.
379381
info!(
382+
target: "server",
383+
event = "payload_returned",
380384
message = "returning block",
381385
"hash" = %block_hash,
382386
"number" = %block_number,
@@ -648,7 +652,12 @@ impl<T: EngineApiExt> EngineApiServer for RollupBoostServer<T> {
648652
&self,
649653
payload_id: PayloadId,
650654
) -> RpcResult<OpExecutionPayloadEnvelopeV3> {
651-
info!("received get_payload_v3");
655+
info!(
656+
target: "server",
657+
event = "get_payload_received",
658+
message = "received get_payload_v3",
659+
%payload_id,
660+
);
652661

653662
match self.get_payload(payload_id, PayloadVersion::V3).await? {
654663
OpExecutionPayloadEnvelope::V3(v3) => Ok(v3),
@@ -698,7 +707,12 @@ impl<T: EngineApiExt> EngineApiServer for RollupBoostServer<T> {
698707
&self,
699708
payload_id: PayloadId,
700709
) -> RpcResult<OpExecutionPayloadEnvelopeV4> {
701-
info!("received get_payload_v4");
710+
info!(
711+
target: "server",
712+
event = "get_payload_received",
713+
message = "received get_payload_v4",
714+
%payload_id,
715+
);
702716

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

0 commit comments

Comments
 (0)