perf: 量化商品页打开耗时并去重检查 (#109)

This commit is contained in:
chengma
2026-08-10 17:40:44 +08:00
parent 4c9bf3865b
commit ba0706dc47
13 changed files with 693 additions and 72 deletions
+27
View File
@@ -158,6 +158,33 @@ PDD 解析测试优先使用脱敏的 XML 固件,不要求每次连接真实
- `purchase_irreversible_step_entered`
- `order_reconcile_completed`
### 6.1 领取到商品页性能日志
正式 Client 把任务领取到商品页就绪的白名单耗时写入
`data/logs/task_performance.jsonl`。每行是一个 JSON 对象,只允许下面四个字段:
| 字段 | 含义 |
|---|---|
| `task_id` | Admin 分配的稳定任务编号 |
| `operation` | 稳定阶段名,例如 `admin_claim_request`、`uiautomator2_connect` |
| `duration_ms` | 单调时钟计算的非负毫秒值 |
| `result` | `succeeded`、`failed` 或 `already_foreground` 等结果分类 |
阶段至少包含 Admin 领取、本地保存、ADB 检查、uiautomator2 连接、首次应用状态、
PDD 启动/等待、打开链接、首次控件树、商品页就绪和 `end_to_end_total`。
`goods_page_ready` 内部包含首次及后续控件树读取,`end_to_end_total` 又包含所有阶段,
所以阶段耗时不能直接相加后与总耗时比较;它们是有意重叠的嵌套区间。
性能日志不得增加 URL、设备号、控件树、异常正文、凭据或个人信息。日志按 2 MiB
轮转并保留 3 个旧文件。需要比较真机冷/热启动时,从 `client/` 执行:
```powershell
C:/Python310/python.exe tools/measure_goods_open.py <设备号> <商品链接> --runs 5
```
测量工具只启动或停止 PDD、打开商品页和读取控件树,不点击规格、下单或付款;
输出只包含模式、阶段名、中位数和 P95。遇到登录或安全验证会立即停止。
失败 Artifact 目录建议:
```text