Skip to content

P4 Session Review 历史会话界面

批次结论

在归档索引和回放加载能力之上,工作台新增“会话”侧栏入口:可以刷新本地 Session 列表,按时间查看测试摘要,并打开只读的 Session Review 窗口查看事件回放。SwiftUI 构建通过,数据层全量测试 53/53(E2);当前仍未接入真机截图、用户标注或逐帧真值。

交互交付

  • 侧栏新增“会话”页,显示历史 Session、App、设备型号、iOS 版本、开始时间、状态、样本数和时长。
  • 点击列表项加载 PerformanceSessionReview,以独立 Review 窗口查看时间轴质量、持续时长、事件数和回放列表。
  • 回放窗口明确显示 valid / estimated / degraded / missing 时间轴状态,事件行显示 elapsed、事件类型、来源和原始 ordinal。
  • 列表和 Review 均为只读,关闭窗口不会触碰 Session 的 raw / events / metrics 文件。
  • 空列表、读取中、读取失败和损坏会话分别展示可见状态;不把缺失数据画成 0。

数据与指标口径

本批次没有新增指标,也没有改变任何公式。指标图表仍使用现有实时样本;Review 时间轴沿用 session-timeline.v1回放与时间轴知识页的公式。后续将把实时曲线和 Review 图表统一到同一 elapsed 坐标。

验证证据(E2)

检查项结果
Swift 全量测试53/53 通过
SwiftUI App 编译通过
历史 Session 列表 / Review sheet 路径编译与静态检查通过
Python Sidecar 测试22/22 通过
VitePress 构建通过
macOS App / Collector 包检查通过(x86_64、ad-hoc)
真机历史会话、截图、标注验收待 E4

未完成与下一步

  1. 使用当前连接设备完成一次真实 Session 后,人工点击“会话 → 打开 Review”验收列表和窗口。
  2. 将实时指标图表改为读取 PerformanceSessionReview.timeline,支持统一游标和时间窗口。
  3. 接入低频截图事件、截图预览和 Note 标注,并按 append-only 规则持久化。
  4. 增加 JSONL / CSV 导出及报告入口,带出时钟来源、质量和算法版本。

变更范围

  • MacApp/Sources/PerfowlCore/SessionReview.swift
  • MacApp/Sources/PerfowlCore/SessionReviewController.swift
  • MacApp/Sources/PerfowlCore/PerformanceSessionStore.swift
  • MacApp/Sources/PerfowlApp/PerfowlApp.swift
  • MacApp/Sources/PerfowlApp/PerfowlWorkbenchView.swift
  • MacApp/Sources/PerfowlApp/SessionReviewViews.swift
  • MacApp/Tests/PerfowlCoreTests/SessionReviewTests.swift
  • site/devlog/p4-session-review-ui.md
  • site/devlog/index.md

Perfowl · Performance Observer