外观
先发送、后接收;尚无新测试通过
文档类型devlog。依据Owner新规则,本页定稿测试用例与参考可行性结论,后续先实现/验证执行工具,再以新容量及独占attempt逐项实测。历史30/66不重测;网络旧正式对照均0/5,不用历史准备样本拼新轮。
1. 当前参考结论及范围
两项Registry为ios.device.network.send_rate、ios.device.network.receive_rate,device/bytes-per-second、network-window-rate.v7。共同来源为Apple DVT networking连接更新与产品聚合,tx/rx方向分开;初始负native-time累计排除,不二次差分增量,1秒完整桶求和后除真实1秒,metadata-only缺失不补0。完整公式、版本和质量边界沿用唯一指标知识页。本决定不修改产品公式。
| 候选 | 发送/接收适用性与实际事实 | 能否作当前精确整机参考 |
|---|---|---|
| 测试App/HTTP服务 | upload写/服务收,download服务发/手机写可逐任务SHA/字节/时间对账;Lab21都支持 | 不能覆盖整机其他流/协议层/源读取窗;可作业务参考与行为用例,必须使用 |
| 接口ifmib64 | 两方向共用同一接口结构/权限;当前手机实际首查询EPERM、内容0次 | 当前不可读,不重复请求或改常驻权限 |
| RVI/pcapd | 同一镜像同时含tx/rx;已捕获但全覆盖、虚拟/物理封装、丢包和精确窗未证 | 当前不能当同层整机真值;不能把换方向当补齐覆盖 |
| Sysmontap System | 共享来源定义/量化及读取时钟缺口,当前scope仅条件支持 | 两方向均不能据此精确同窗对照 |
| diagnostics IORegistry | 完整原件已取,但未得到已证全接口字节及读取时钟 | 不能将包/错误量当任一方向字节 |
| NStat IFNET | 两方向共用权限前置、共享阈值写入和无AddAll watcher限制 | 未形成已授权且可读的独立整机参考,不以只读名义试写 |
| 另起DVT/独立重算 | 可检查公式/消费者一致;现wire缺逐来源请求/真实窗且provider被压缩 | 同一来源复制不独立,不能校准系统准确性 |
因此确认:在当前设备/iOS、权限与已具备工具中,没有已证明可用的独立整机同层同窗精确对照数据;已知业务对照能设计且已在Lab实现,仍必须执行。此结论只关闭“当前参考可行性调查”动作,不把不可行证明为永远不存在,不把软件或安装视为指标通过。固定审计事实与失败见候选矩阵。后续如出现可授权新参考,优先采用有参考路径。
2. 自有App业务参考用例(upload/download分别执行)
| 用例 | 输入与可核预期 | 指标行为/异常检查 |
|---|---|---|
| 正常尺寸 | 固定正文1/10/50MiB;server与client独占request ID、原始字节/增量SHA | 完整业务SHA/长度/终态成立;产品出现真实正值,不强求整机等于正文 |
| 并发 | 1/2/4任务,预算=单件bytes×任务数,最多200MiB | 无少任务/重复计数;每任务原件保留,产品窗口连续且公式重算一致 |
| 慢速 | 1MiB,server读/写64KiB/s,stage≥17秒 | 延迟与收发方向有真实负载;限速只约束服务端读/写,不能当wire瞬时真值 |
| 空闲/恢复 | baseline与recovery明确分段;另一个App/后台流不被声称为零 | metadata-only应missing而非补0,不复用旧值;有原始合格零才可0 |
| 取消 | 慢速阶段开始后3秒取消;后续新生命恢复1MiB×2 | 保留部分量/文件/错误,封口released及close成功;新请求能完成 |
| 坏输入 | 短正文、错SHA/长度、压缩/重定向、重复ID/附件、关闭失败 | 必须拒绝完成,原失败保留;仅软件控制可完成的部分不滥启手机 |
| 产品来源与消费者 | 直接保存原始DTX、闭桶、SQLite、导出及实际Core/UI状态 | 初始累计/epoch/重复/倒序/尾窗、单位转换与1Hz发表精确一致 |
已存在的host工具11情景、下载4实际engine/22反控不重新伪装成手机证据。手机四工具仅1MiB正常/OFF/取消/恢复,按已定prepare合同先校验;10/50MiB与4并发在新诊断/正式负载逐项绑定实际任务,不能说四工具已经覆盖全部尺寸。任一所需组合不具备真实证据即补用例,不以无参考跳过。
3. 无参考异常测试合同
新attempt带NO_REFERENCE_OWNER_REVIEW,testPassed=false起步;结果同时保留referenceComparable=false、referenceAccuracyValidated=false、ownerReviewRequired=true、referenceUnavailableReason及上述候选矩阵版本。测试通过后可推进,不增加“已独立精确对照”的统计。
先新140秒诊断验证实际Mac产品选择、DTX/1Hz来源、原始累计排除、正负/缺失、Raw/SQLite/导出/真实消费者一致性,保留stop/quiet/close全部尾部。再独立冻结五轮负载:每轮新生命/Session、120固定机会、原定冷却和首失败停,五新名及真实容量。无参考评估移除的仅是独立数值偏差/正参考点数,记not-applicable附原因;来源/完整≥119、最大gap≤2秒、来源违规0及严重异常0保留,负载期产品正值至少5点。若当前产品无法达到来源完整门,诊断必须作为问题处理,不能临时改为“未发现异常”。参考普通/严重偏差不能冒充已评估点;改用明确异常问题列表,不制造normal百分比。
业务日志证明实际任务和方向,不能强求整机send大于receive或空闲归零,不能凭业务MiB/s画整机精确预期。尖峰逐原始事件追溯,来源/聚合/单位无法解释的尖峰为待修问题;有真实突发依据则保留并说明,不删除。异常软件反控至少覆盖缺失补零/重复来源/初始化混入/闭桶错/NaN/负值/超TTL/尾部丢失/导出漂移/空跑;独立reader不导入主评估器,重算全部整数求和与桶集合。
4. 实施边界、预算与顺序
不改Mac产品语义。复用现有已审收集/封口/独占意图/源SHA/导出及消费者工具,新增网络专属无参考异常评估与有限执行器,旧有参考门入口保持历史语义;Lab21 upload版本准入另显式支持,禁止把固定Lab19命令直接套新包。先离线控制和已保管真实Raw规模基准,再真实新准入。主执行与分离reader独立实现;合成Raw明确标记,不能计真机点。
O(raw events+body bytes),流块≤1MiB、网络并发≤4、单轮业务≤200MiB、五轮≤1GiB;Raw每行≤1MiB/20000行/单源64MiB、队列≤4096。软件控制≤30秒/64MiB,真实回合沿现有采集总230秒/192MiB、call8秒/close3秒,host服务按实际140秒窗和尾部另冻结≤240秒。每轮冷却600秒不计采集性能,不能拿串行SDK耗时承诺高吞吐。执行前预估总新增≤2GiB、host≥10GiB且≥预计两倍;实际CPU/RSS/I/O峰、首响应/完成/最差关闭如实记录,I/O缺观测unknown。不得为赶900秒而跳过准备;安装已完成,无需重复安装或全量备份。
先收尾Lab21安装交付→旧准备数据保全及rename真实容量→发送工具兼容/140秒诊断→新发送五轮及逐指标交付→接收下载E3资格/诊断/五轮及独立交付→GPU Renderer。各指标新attempt不得拼接、无数据不得通过;未完成本页实现前不能直接执行旧队列。当前仍30/66,标记测试通过新增0。
Implementation Decision · 2026-10-20 · 分离异常评估输入合同
新增离线network_anomaly.py只读真实Raw envelope、metrics-derived和sample三流,不导入产品计算。首版限定当前source-closure.v1聚合契约/固定生命;按绝对1秒桶逐片整数求和、扣初始化累计、metadata-only为null、首桶warmup、尾部未满不发表。校验源header/身份/epoch/顺序/零drop和完整closure时间,逐源原序列绑定derived的sourceEventSequence、窗口/质量/单位/公式/value;sample只用deviceNetworkSend/Receive字段及deviceNetworkSourceWindows,不用会选process的通用network字段。derived按源时刻核≤1.5秒年龄,sample按实际observed与derived时刻核≤2秒TTL;重复源窗不算新机会,不能补足119。
完整三流逐行≤1MiB/总64MiB/20000行,流式读取;内存只保留≤4096个源桶/派生网络记录与≤1000个sample,过界拒绝。仅发送或接收一个方向作当前结论,另一方向留待单项;方向不是过滤掉该方向的异常。固定120机会及全尾部异常检查,5个真实正值/来源与完整≥119/gap≤2秒。原始schema或采样元数据不符合时拒绝,不靠软件控制填真实字段。独立实现另reader用按桶分组/有理数与bisect匹配三流,不能导入主评估器;原件相等与控制足够后才接入真实诊断。
软件控制至少包含正常两方向/碎片/初始化/metadata缺失与真实零/partial尾保留,以及重复/缺失/倒序/负值/NaN/初值污染/时钟/epoch/超TTL/导出值漂移/空跑/运行准入缺失等失败。软件/guard预算同上。软件通过只写E2及testPassed=false;真实运行准入必须另由采集保管和独立reader证明,不能传个true把合成样本计为指标通过。
2026-10-20 · 真实schema兼容修订(先决策后实现)
首个只读既有Session(约28.98MB Raw)在derived-source-binding拒绝,未启动手机。实查开头两个network null派生记录来自sysmontap.raw、在第一个network完整闭桶之前,quality=missing-source且无窗口;这是产品尚未获得network源时的缺失声明,不是网络测量值。独立评估应保管/核对这些前置记录的原始sysmontap序列/时间/身份,明确记startupMissingDerived,不计来源完整/正值/120机会。仅允许首network完整桶前、null/missing-source/无窗口的该精确形状;候选值、0填充、晚期sysmontap冒充network或任何其他来源仍拒绝。原a01失败兼容结果永久保留,新a02只读同一原件核SHA,不修改产品或源文件。
2026-10-20 · 分离reader内存失败与有界修订
实际兼容a02主评估完成(120/120来源、120正值、无异常、两条前置missing);随后的独立reader因将所有无关sysmontap原dict留存,guard live RSS82427904B超过64MiB,以SIGTERM停止、无kill,失败保留。修订仅保留首network完整闭桶前的sysmontap最小时间/身份元组,后续逐行丢弃;这与需核的前置声明范围一致,不删除源证据、不提高预算、不减少120分母。主/分离全部原件仍流读,a03核同一完整历史文件与前后SHA,无手机动作。此前“主通过”不代表分离完成、指标通过或资源通过。
Implementation Decision · 2026-10-20 · Lab21上传工具显式准入
现四工具执行器缺省upload只接受Lab19,不能用于已装Lab21。新增--lab-version明确选择19/21;缺省仍upload19/download21,download19拒绝,signed和实际已装版本必须与选择精确相等。任意Lab21方向均强制绑定真实新鲜四槽准备收据(既有schema/180秒/输入SHA/当前集合/非正式容量);不由执行器生成容量。
Lab21工具current改用完整DeviceInfo列表、独占原文与严格唯一生命(复用deviceinfo_life),ProcessControl仅用于已授权自有启动/同生命封口正常退出,不调用process_identifier_for_bundle_identifier。每批≤64观察、每列表≤4096条/16MiB,拒绝后仍保管原文;不把“创建ProcessControl”标成0。旧Lab19路径保留兼容。Lab21请求显式direction,业务、保管、取消、资源、关闭门不变。新增上传21准入/拒旧缺省/无容量/错版本/DI生命冲突及合成四工具整路径控制,和既有download/耐久控制一同≤30秒/64MiB;真实手机成本仍待。手机四工具前必须新保全归位真实槽,不能用当前64代填60。
2026-10-20 · Lab21四工具终端摘要修复决定
新手机四工具执行记录已持久化completed=true、4launch/4正常退出、5任务、全部close和源SHA核同,但进程末尾print把DI生命中的datetime直接json.dumps,引发TypeError/exit1;原guard保持false,不能改回或重跑四条美化结果。先独立核全原件/任务/成本/生命周期,再只修终端公开摘要为有限字段白名单(不输出DI生命),补真实datetime摘要控制;持久收据仍用已支持日期的durable_json。Lab21上传也必须像download与18/19一样核typed-integer编码及完整成本字段,补准入反控。软件修复不触手机或回改原收据,随后新连接postflight确认实际64封口/idle。
无参考新诊断/正式执行不需要无效的接口计数轮询作精确参考,referenceEnabled=false;仍保存完整业务字节/SHA/任务时间、产品原始来源及全部消费者。四工具中开启参考的准备样本保留,用于工具成本审查;不以其代替整机对照。140秒负载baseline20、三stage各30、recovery30:1MiB×1/64KiB每秒,10MiB×4/2MiB每秒,50MiB×1/8MiB每秒,总91MiB;1/2/4并发中的2由真实recovery工具覆盖。后续五轮逐轮冻结,不直接复用旧队列。