Skip to content

diag(ui): 超时信息带上 CreateProcess→JS 间隔 (#144) - #274

Merged
JavaZeroo merged 1 commit into
mainfrom
diag/node-checkpoint-delta
Oct 31, 2026
Merged

JavaZeroo merged 1 commit into
mainfrom
diag/node-checkpoint-delta

Conversation

@JavaZeroo

Copy link
Copy Markdown
Owner

内容

按 #144 的最新分析(样本 D:CreateProcess 返回后约 8.82 s 才执行到 Node 的第一行 JS),把这段间隔直接算进超时消息:

node fixture exceeded its ten second limit; {"started":…}; pid=… spawn_seconds=… js_start_after_create_ms=… exit_at_timeout=… partial_stdout_bytes=…
  • 仅当 checkpoint 里存在 started(即 Node 确实执行到 preload)时才追加该字段;
  • 解析失败或缺字段时保持原样,不影响既有断言。

为什么

上一轮的判据是「preload 是否写入」,能区分"完全没进 JS"与"进了但卡住";但它不能量化"CreateProcess 到 JS 之间"的耗时。样本 D 是靠人工对账 started 与截止时刻才得出 8.82 s,本次把它固化进失败信息,下一次命中即可直接读数(不碰 10 秒期限)。

验证

python -m unittest research.ui.test_raster_style_reference → 11 tests OK。

边界

  • 只改失败信息,不改期限与判定;
  • started 是 Node 侧毫秒时间戳,与父进程 time.time() 的时钟偏差未校准,差值只作指示。

Refs #144

When the preload checkpoint carries a start time the failure line now also prints how long after CreateProcess Node reached its first JS line.
@JavaZeroo
JavaZeroo merged commit 27207ab into main Oct 31, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant