fix(web-probe): ignore terminal duration snap in jump detector (#767)

Co-authored-by: Codex <codex@noreply.local>
This commit is contained in:
Lyon
2026-06-24 02:50:48 +08:00
committed by GitHub
parent 9cc3c3e197
commit b5e66b77f3
@@ -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 });
}
}
}