Skip to content

R3 可选周期检查点与事件循环隔离 ​

实施前合同 ​

本批新增显式CLI检查点间隔,默认0关闭,开启值至少1秒。单Session策略、单writer执行,只有实时记录写入后检查期限;无额外timer/线程/队列,无源事件时不空转写盘。启动快路径不触发checkpoint;首次实时写入建立计时基线,不让预热耗时导致首点同步。

期限到达时同步Raw/blob并发布checkpoint,失败传播给采集错误路径,不伪装成功;不并发执行多个检查点。每次从同步完成时重新计时,不追赶补发,慢盘不产生checkpoint风暴。停止不强制额外checkpoint,继续正常seal。Raw前缀checkpoint不等于Metric引擎快照。

开销每条O(1)时钟检查/常量内存;开启时fsync阻塞writer而非事件循环,事件循环响应不代表采样吞吐未受影响。无硬磁盘超时承诺,基准进程120秒上限。新增策略单位测试、慢盘/错误分支及20轮实际payload事件循环模型,比较默认关闭和显式开启的writer时间、CPU、RSS与心跳最大延迟;真实设备首点/吞吐/60分钟仍开放,CLI开关不默认部署为已验证功能。

实施与验证(E2) ​

新增PeriodicCheckpoint及stream参数--checkpoint-interval-seconds;0默认关闭,非有限值/负值/小于1的开启值拒绝。仅record_live单writer入口触发,预热及启动同步入口不触发。成功次数/最大同步时长返回checkpointPolicy摘要;不会升级指标状态。

Python272/272(1.958秒);默认关闭无时钟/IO、参数边界、首次事件计时、慢盘不追赶、失败失效与100ms同步阻塞下事件循环仍有心跳均通过。模拟慢盘测试不是实际设备首点证明。

40轮模型对照 ​

实际300MiB(30×10MiB),off/on各20轮,AB/BA交替、单独进程、1 writer;5ms事件循环心跳。策略时钟加速,每事件推进0.1秒,以短模型实际触发检查点;不是墙钟1秒设备Session。模型不包含真实DTX和指标派生,默认仍关闭。

模式中位msP95msmaxmsCPU中位msRSSbytes最大心跳间隔ms首次写入中位ms
off679.750878.095943.123661.577357376006.72222.596
on684.478754.283991.197660.164357621766.72522.232

开启中位总时长增加约0.70%;CPU未见中位回退,峰值RSS约35.8MB。记录最差991ms轮,不只展示最优。OS block计数可能为0,不代表无IO;未取得物理IO峰值及稳态吞吐1.5倍证据,不宣称R0资源门禁已关闭。匿名逐轮证据。

下一阶段与整体进度 ​

R3周期策略进入可选E2验证,默认开启、真实事件循环/设备首点、1GB/60分钟与引擎状态恢复仍开放;R0~R6整体partial。下一步使用真实Raw驱动包含指标派生的同路径并验证满盘/停止边界,再决定默认配置。Raw checkpoint不证明Metric已持久化,崩溃后仍离线重新派生。

开发前已重试上一批推送:GitHub补推f7a2730成功,GitLabSSH连接仍关闭。本批双推与内部包结果独立报告。正式Developer ID、公证/GPL及E4仍开放。

Build43 内部包(E2) ​

Swift111/111与站点64项合同/构建通过(有bundle体积警告)。Build43 x86_64独立解包内容一致、严格codesign/probe通过,包内参数存在且无效间隔在连接前拒绝;未执行打包后的真机周期调度。

ZIP110337205字节,SHA-256 bfde5b78493daf7b1f5b1d8cd65633d3a7774727c01890bba13678d93cbe76f3。包证据。仅ad-hoc,Gatekeeper/staple未通过,未安装Applications、无E4。默认关闭及正式发布门禁保持。

Perfowl · Performance Observer