外观
P2 进程网络源时钟修订方案
真机发现
iOS 18 Wi-Fi userspace 采集中,Debug Gauge NetworkStatistics 的第一个 PID 回包可以带有较旧的 NSDate 源时间;紧随的第二个回包已跳到当前时间,其 net.*.bytes.delta 覆盖的是这一大段源时间窗口。如果用两次 host 收包仅约 2 秒的间隔做分母,会人工放大为 GB/s 级假值。
冻结公式
source-interval-rate.candidate.v2:
text
rate[n] = deltaBytes[n] / (sourceTime[n] - sourceTime[n-1])sourceTime取同一 PID 行内time: NSDate的 Core Data 秒时钟,原始值另存为sourceTimestampCocoaSeconds。- scope 为 PID + target generation;重绑后重新 warmup,不跨代。
- 第一个真实 PID 行为
warmup;空 acknowledgement 不建立窗口。 - 源时钟存在时必须使用源时钟;差值小于等于 0 输出 null /
invalid-window。 - 仅旧录制或可控 Fixture 没有源时钟时,允许 host monotonic 窗口回放,质量标记
candidate-host-window,不与真机源时钟结论混合。 - 单位 bytes-per-second;计算层保留 Double,不取整;真实 0 delta 保留为数值 0。
验收
- 确定性重放覆盖空 acknowledgement、首点 warmup、源时钟大窗口、旧录制 host 回退和非递增窗口。
- iOS 18 Wi-Fi 长于 40 秒 Session 重跑,确认 GB/s 级人工峰值消失。
- 源时钟和当前公式版本进入 raw、Metric、自校准报告与用户知识页。