58 lines
2.8 KiB
Markdown
58 lines
2.8 KiB
Markdown
# 「会中手动成稿」共存压测方案
|
|
|
|
> 需求变更后取代原"会中自动滚动"压测(2026-09-11):滚动机制已拆除,
|
|
> 现行为 = 点「生成纪要」→ 对截至当时已定稿的字幕成稿,录音转写全程不停;
|
|
> 增量笔记(.notes.json)使第二次及以后的点击只处理新增句子(分钟级)。
|
|
>
|
|
> 通过线:录音零丢帧、定稿不超时不劣化、成稿期间 UI 不卡死、多次点击增量正确。
|
|
|
|
## 1. 准备
|
|
|
|
1. 安装 `build-check/summarize-manual-debug.apk`。
|
|
2. 测试音频:任意真实会议录音(日语最佳)≥30 分钟,播放器开单曲循环凑 2~3 小时。
|
|
3. 手机充电、屏幕常亮(锁屏/Doze 会干扰后台线程)。
|
|
4. 如要卸载旧版重装:`adb pull /sdcard/Android/data/com.k2fsa.sherpa.onnx/files/models/ D:\sherpa-models-backup` 备份模型,装完 push 回去。
|
|
|
|
## 2. 日志采集(PowerShell 开三个窗口)
|
|
|
|
```powershell
|
|
# 窗1:App 主日志(SLOT 对账 / SUMMARIZE / ROLLING 续跑标记)
|
|
adb logcat -s sherpa-onnx SummarizeLlmJni | Tee-Object D:\stress-app.log
|
|
|
|
# 窗2:每 5 分钟采样 RSS 与电池温度
|
|
while ($true) {
|
|
adb shell dumpsys meminfo com.k2fsa.sherpa.onnx | Select-String "TOTAL RSS"
|
|
adb shell dumpsys battery | Select-String "temperature|level"
|
|
Start-Sleep 300
|
|
} | Tee-Object D:\stress-rss.log
|
|
|
|
# 窗3:录音丢帧(看 s: 恒 0、m: 不增长)
|
|
adb logcat | Select-String "audioRecordData" | Tee-Object D:\stress-audio.log
|
|
```
|
|
|
|
## 3. 跑测步骤
|
|
|
|
1. Start 录音,循环播放会议音频。
|
|
2. 约 1 小时后点「生成纪要」→(第 1 次)全量流水线 → 出稿。**记录耗时 T1**。生成期间字幕应继续实时更新。
|
|
3. 再过 1 小时点第二次 → 日志应出现 `SUMMARIZE resume from notes at N/M`,只消化新增段,**记录耗时 T2**(应远小于 T1)。
|
|
4. 会议结束 Stop → 再点第三次出终稿。
|
|
5. 取回产物:
|
|
```powershell
|
|
adb exec-out run-as com.k2fsa.sherpa.onnx tar -C files/meetings -c . > D:\stress-out.tar
|
|
```
|
|
应看到 `<会话>.jsonl`(全量转写)、`<会话>.notes.json`(断点笔记)、`<会话>.md`(每次覆盖为最新终稿)。
|
|
|
|
## 4. 判读标准(把三个 log + 三份 md 发我)
|
|
|
|
| 项 | 通过线 | 依据 |
|
|
|---|---|---|
|
|
| 录音零丢帧 | `s:0` 恒 0,`m:` 在成稿窗口内不增长 | stress-audio.log |
|
|
| 定稿不劣化 | 成稿的 1~2 分钟窗口里 `SLOT … RESULT=TIMEOUT` 频率不高于基线 | stress-app.log |
|
|
| 增量正确 | 第 2/3 次点击 `resume from notes` 命中,T2 << T1;终稿 .md 覆盖全程且无重复条目 | stress-app.log + .md |
|
|
| 资源 | 引擎驻留只在生成期间(~3.5GB RSS 峰值,完成即回落);温度 >45°C 时记录掉速 | stress-rss.log |
|
|
| 质量 | 三次纪要人工评审"无漏关键决定";出典时间戳可回查 .jsonl | .md |
|
|
|
|
## 5. 红线回归
|
|
|
|
`MainActivity` 顶部 `summarizeEnabled=false` → 无按钮、无会话文件、行为与加摘要功能前一致。
|