Skip to content

Commit 8fd2496

Browse files
chee-chyuanclaude
andcommitted
debug(engine): warn when backpressure activates and releases
Log persistence_gap, threshold, and stall duration at warn level so backpressure is visible without enabling debug/trace on the engine target. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 1486308 commit 8fd2496

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

  • crates/engine/tree/src/tree

crates/engine/tree/src/tree/mod.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,9 +627,23 @@ where
627627

628628
let event = if self.should_backpressure() {
629629
self.metrics.engine.backpressure_active.set(1.0);
630+
warn!(
631+
target: "engine::tree",
632+
persistence_gap = self.persistence_gap(),
633+
threshold = self.config.persistence_backpressure_threshold(),
634+
last_persisted = self.persistence_state.last_persisted_block.number,
635+
canonical_tip = self.state.tree_state.canonical_block_number(),
636+
"Engine backpressure active — blocking on persistence, new payloads will not be processed"
637+
);
630638
let stall_start = Instant::now();
631639
let event = self.wait_for_persistence_event();
632-
self.metrics.engine.backpressure_stall_duration.record(stall_start.elapsed());
640+
let stall = stall_start.elapsed();
641+
warn!(
642+
target: "engine::tree",
643+
stall_ms = stall.as_millis(),
644+
"Engine backpressure released"
645+
);
646+
self.metrics.engine.backpressure_stall_duration.record(stall);
633647
event
634648
} else {
635649
self.metrics.engine.backpressure_active.set(0.0);

0 commit comments

Comments
 (0)