Skip to content

Build54 采集中指标显示选择解耦 ​

目标 ​

在采集过程中允许通过“添加指标”打开显示选择器。选择器只改变工作台可见面板,不改变已经准备好的全量 CapturePlan,也不重启或重配任何采集源。

实现 ​

  • PerfowlWorkbenchView 在设备已选中时始终显示指标选择入口,移除 !performance.isActive 显示门禁。
  • 采集器仍只接受 CapturePlan.allSupported(64 项)作为准备与采集契约;显示集合继续留在 SwiftUI 本地状态。
  • CoreProfile 启动生命周期源在启动前无法武装时改为可观测降级:发布 startup_source_unavailable 与原因,继续启动并采集其余指标,不再让单一启动源失败终止 Session;启动阶段保持显式 missing。
  • 增加源码契约测试,防止后续修改把采集中选择器重新隐藏或引入采集重准备路径。

验证 ​

  • Swift 并行测试:137/137 通过(E2)。
  • Python Sidecar 回归:361/361 通过(E2)。
  • 启动源失败降级回归:Swift readiness 与 Python Session seal 均通过;故障原因写入 startupUnavailableReason,其余源继续采集(E2 Fixture)。
  • 站点构建:VitePress 通过(E2)。
  • 600 帧 × 64 指标在线报告基准 10 轮:首快照 P95 27.82 ms、Stop P95 64.36 ms、峰值 RSS 27.8 MiB,两个时间门禁均通过(E2 合成模型)。
  • Build54 App/ZIP/DMG:x86_64、Developer ID 签名与独立验签通过;公证凭据尚未配置,因此仍是内部测试包(E2)。

证据边界 ​

本批证明了显示入口的静态契约与构建产物完整性;原生 UI 像素级录证、真机交互延迟和跨架构产物仍沿用总计划中的开放门禁。

Perfowl · Performance Observer