From b5e66b77f34af28d37d36bbd458fc2ae7c8ab550 Mon Sep 17 00:00:00 2001 From: Lyon <88232613+pikasTech@users.noreply.github.com> Date: Wed, 24 Jun 2026 02:50:48 +0800 Subject: [PATCH] fix(web-probe): ignore terminal duration snap in jump detector (#767) Co-authored-by: Codex --- scripts/src/hwlab-node-web-observe-runner-source.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/src/hwlab-node-web-observe-runner-source.ts b/scripts/src/hwlab-node-web-observe-runner-source.ts index 598714a4..f349acfb 100644 --- a/scripts/src/hwlab-node-web-observe-runner-source.ts +++ b/scripts/src/hwlab-node-web-observe-runner-source.ts @@ -4491,7 +4491,8 @@ function detectTurnTimingNonMonotonic(columns, rows) { const sampleDeltaSeconds = elapsedSecondsBetween(previous.ts, row.ts); const delta = current - previous.value; const allowedIncreaseSeconds = sampleDeltaSeconds + alertThresholds.turnTimingSampleSlackSeconds; - if (delta > allowedIncreaseSeconds) { + const terminalTransition = !isTerminalTurnStatus(previous.status) && isTerminalTurnStatus(cell.status); + if (delta > allowedIncreaseSeconds && !terminalTransition) { totalElapsedForwardJumps.push({ columnId: column.id, columnLabel: column.label, @@ -4501,9 +4502,11 @@ function detectTurnTimingNonMonotonic(columns, rows) { fromSeq: previous.seq, fromTs: previous.ts, fromValue: previous.value, + fromStatus: previous.status ?? null, toSeq: row.seq ?? null, toTs: row.ts ?? null, toValue: current, + toStatus: cell.status ?? null, delta, sampleDeltaSeconds, allowedIncreaseSeconds, @@ -4628,7 +4631,7 @@ function detectTurnTimingNonMonotonic(columns, rows) { }); } } - previousByMetric.set(metric, { value: current, seq: row.seq ?? null, ts: row.ts ?? null }); + previousByMetric.set(metric, { value: current, seq: row.seq ?? null, ts: row.ts ?? null, status: cell.status ?? null }); } } }