snapshot-checker 0.6.3 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +209 -15
  2. package/dist/commands/forkall.d.ts.map +1 -1
  3. package/dist/commands/forkall.js +23 -16
  4. package/dist/commands/forkall.js.map +1 -1
  5. package/dist/commands/report-user.d.ts +25 -0
  6. package/dist/commands/report-user.d.ts.map +1 -0
  7. package/dist/commands/report-user.js +17 -0
  8. package/dist/commands/report-user.js.map +1 -0
  9. package/dist/commands/report.d.ts +1 -26
  10. package/dist/commands/report.d.ts.map +1 -1
  11. package/dist/commands/report.js +6 -425
  12. package/dist/commands/report.js.map +1 -1
  13. package/dist/demos/timeout-demo.d.ts.map +1 -1
  14. package/dist/demos/timeout-demo.js +1 -1
  15. package/dist/demos/timeout-demo.js.map +1 -1
  16. package/dist/src/bin.d.ts +3 -0
  17. package/dist/src/bin.d.ts.map +1 -0
  18. package/dist/src/bin.js +57 -0
  19. package/dist/src/bin.js.map +1 -0
  20. package/dist/src/cli.js +33 -55
  21. package/dist/src/cli.js.map +1 -1
  22. package/dist/src/executor.d.ts +5 -5
  23. package/dist/src/executor.d.ts.map +1 -1
  24. package/dist/src/executor.js +3 -3
  25. package/dist/src/executor.js.map +1 -1
  26. package/dist/src/{groupSpecs.d.ts → group_specs.d.ts} +2 -2
  27. package/dist/src/group_specs.d.ts.map +1 -0
  28. package/dist/src/{groupSpecs.js → group_specs.js} +1 -1
  29. package/dist/src/group_specs.js.map +1 -0
  30. package/dist/src/index.d.ts +4 -4
  31. package/dist/src/index.d.ts.map +1 -1
  32. package/dist/src/index.js +3 -3
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/lib/format.d.ts +30 -0
  35. package/dist/src/lib/format.d.ts.map +1 -0
  36. package/dist/src/lib/format.js +76 -0
  37. package/dist/src/lib/format.js.map +1 -0
  38. package/dist/src/lib/{hostCommands.d.ts → host_commands.d.ts} +6 -1
  39. package/dist/src/lib/host_commands.d.ts.map +1 -0
  40. package/dist/src/lib/{hostCommands.js → host_commands.js} +9 -1
  41. package/dist/src/lib/host_commands.js.map +1 -0
  42. package/dist/src/lib/perf_decode.d.ts +25 -0
  43. package/dist/src/lib/perf_decode.d.ts.map +1 -0
  44. package/dist/src/lib/perf_decode.js +90 -0
  45. package/dist/src/lib/perf_decode.js.map +1 -0
  46. package/dist/src/lib/pipeline.d.ts +108 -0
  47. package/dist/src/lib/pipeline.d.ts.map +1 -0
  48. package/dist/src/lib/pipeline.js +294 -0
  49. package/dist/src/lib/pipeline.js.map +1 -0
  50. package/dist/src/lib/preflight.d.ts +2 -0
  51. package/dist/src/lib/preflight.d.ts.map +1 -0
  52. package/dist/src/lib/preflight.js +45 -0
  53. package/dist/src/lib/preflight.js.map +1 -0
  54. package/dist/src/lib/presets.d.ts +46 -27
  55. package/dist/src/lib/presets.d.ts.map +1 -1
  56. package/dist/src/lib/presets.js +187 -216
  57. package/dist/src/lib/presets.js.map +1 -1
  58. package/dist/src/lib/programmatic.d.ts +30 -0
  59. package/dist/src/lib/programmatic.d.ts.map +1 -0
  60. package/dist/src/lib/programmatic.js +40 -0
  61. package/dist/src/lib/programmatic.js.map +1 -0
  62. package/dist/src/lib/report_scenario.d.ts +50 -0
  63. package/dist/src/lib/report_scenario.d.ts.map +1 -0
  64. package/dist/src/lib/report_scenario.js +497 -0
  65. package/dist/src/lib/report_scenario.js.map +1 -0
  66. package/dist/src/lib/scenario.d.ts +17 -3
  67. package/dist/src/lib/scenario.d.ts.map +1 -1
  68. package/dist/src/lib/scenario.js +34 -8
  69. package/dist/src/lib/scenario.js.map +1 -1
  70. package/dist/src/lib/version.d.ts +12 -0
  71. package/dist/src/lib/version.d.ts.map +1 -0
  72. package/dist/src/lib/version.js +51 -0
  73. package/dist/src/lib/version.js.map +1 -0
  74. package/dist/src/logger.d.ts +31 -1
  75. package/dist/src/logger.d.ts.map +1 -1
  76. package/dist/src/logger.js +182 -16
  77. package/dist/src/logger.js.map +1 -1
  78. package/dist/src/{runCommand.d.ts → run_command.d.ts} +1 -1
  79. package/dist/src/run_command.d.ts.map +1 -0
  80. package/dist/src/{runCommand.js → run_command.js} +5 -6
  81. package/dist/src/run_command.js.map +1 -0
  82. package/dist/src/{runGroups.d.ts → run_groups.d.ts} +12 -3
  83. package/dist/src/run_groups.d.ts.map +1 -0
  84. package/dist/src/{runGroups.js → run_groups.js} +28 -13
  85. package/dist/src/run_groups.js.map +1 -0
  86. package/dist/src/runners/{backgroundExecutor.d.ts → background_executor.d.ts} +3 -3
  87. package/dist/src/runners/background_executor.d.ts.map +1 -0
  88. package/dist/src/runners/{backgroundExecutor.js → background_executor.js} +3 -3
  89. package/dist/src/runners/background_executor.js.map +1 -0
  90. package/dist/src/runners/{builtinRunner.d.ts → builtin_runner.d.ts} +1 -1
  91. package/dist/src/runners/builtin_runner.d.ts.map +1 -0
  92. package/dist/src/runners/{builtinRunner.js → builtin_runner.js} +1 -1
  93. package/dist/src/runners/builtin_runner.js.map +1 -0
  94. package/dist/src/runners/{embedRunner.d.ts → embed_runner.d.ts} +1 -1
  95. package/dist/src/runners/embed_runner.d.ts.map +1 -0
  96. package/dist/src/runners/{embedRunner.js → embed_runner.js} +2 -2
  97. package/dist/src/runners/{embedRunner.js.map → embed_runner.js.map} +1 -1
  98. package/dist/src/runners/index.d.ts +5 -5
  99. package/dist/src/runners/index.d.ts.map +1 -1
  100. package/dist/src/runners/index.js +4 -4
  101. package/dist/src/runners/index.js.map +1 -1
  102. package/dist/src/runners/{platformShellExecutor.d.ts → platform_shell_executor.d.ts} +1 -1
  103. package/dist/src/runners/platform_shell_executor.d.ts.map +1 -0
  104. package/dist/src/runners/{platformShellExecutor.js → platform_shell_executor.js} +2 -2
  105. package/dist/src/runners/platform_shell_executor.js.map +1 -0
  106. package/dist/src/runners/{shellRunner.d.ts → shell_runner.d.ts} +1 -1
  107. package/dist/src/runners/shell_runner.d.ts.map +1 -0
  108. package/dist/src/runners/{shellRunner.js → shell_runner.js} +11 -16
  109. package/dist/src/runners/shell_runner.js.map +1 -0
  110. package/dist/src/runners/types.d.ts.map +1 -1
  111. package/dist/src/types.d.ts +2 -2
  112. package/dist/src/types.d.ts.map +1 -1
  113. package/dist/src/types.js.map +1 -1
  114. package/package.json +13 -4
  115. package/dist/src/groupSpecs.d.ts.map +0 -1
  116. package/dist/src/groupSpecs.js.map +0 -1
  117. package/dist/src/lib/hostCommands.d.ts.map +0 -1
  118. package/dist/src/lib/hostCommands.js.map +0 -1
  119. package/dist/src/runCommand.d.ts.map +0 -1
  120. package/dist/src/runCommand.js.map +0 -1
  121. package/dist/src/runGroups.d.ts.map +0 -1
  122. package/dist/src/runGroups.js.map +0 -1
  123. package/dist/src/runners/backgroundExecutor.d.ts.map +0 -1
  124. package/dist/src/runners/backgroundExecutor.js.map +0 -1
  125. package/dist/src/runners/builtinRunner.d.ts.map +0 -1
  126. package/dist/src/runners/builtinRunner.js.map +0 -1
  127. package/dist/src/runners/embedRunner.d.ts.map +0 -1
  128. package/dist/src/runners/platformShellExecutor.d.ts.map +0 -1
  129. package/dist/src/runners/platformShellExecutor.js.map +0 -1
  130. package/dist/src/runners/shellRunner.d.ts.map +0 -1
  131. package/dist/src/runners/shellRunner.js.map +0 -1
package/README.md CHANGED
@@ -4,11 +4,18 @@
4
4
 
5
5
  **主场景为 `report`**:按 checkpoint 风险目标采集 trace/perf,可选 hstack 与 sourcemap 解析,输出 `dump_stack.*`。
6
6
 
7
+ **0.7.0 相对 0.6.x 的破坏性变更**
8
+
9
+ - `report` 默认 `--trace-from` 由 `hitrace` 改为 **`mix`**(采集默认带 `--raw-data`,analysis 默认预处理 hitrace 并使用 **perfFirst** sidecar)。
10
+ - 日志格式统一为行首 `[ISO8601] {级别} {正文}`(无 consola 颜色)。
11
+ - 依赖升级:`hiperf_txt_parser` ^1.4、`hmtrace-parser` ^0.6;analysis trace 解码改由 pipeline 编排。
12
+ - 若需与 0.6.x 相同默认行为,显式传入 `--trace-from hitrace`。
13
+
7
14
  **前置条件**
8
15
 
9
16
  - **Node.js** ≥ 18。
10
17
  - PATH 中可用 **`hdc`**,并已连接目标设备。
11
- - 本机 analysis 依赖 `hiperf_txt_parser`、`hmtrace-parser`(随包安装)。
18
+ - 本机 analysis 依赖 **`hiperf_txt_parser` ^1.4**、**`hmtrace-parser` ^0.6**(随包安装):hitrace 预处理与索引由 hmtrace 构建,样本级并行解码与 hitrace 合并由 hiperf 完成。
12
19
 
13
20
  ---
14
21
 
@@ -46,7 +53,9 @@ npm run dev -- report --help
46
53
 
47
54
  ## `report` 命令
48
55
 
49
- checkpoint 镜像失效等风险的专项采集与分析。按 `--risk-targets` 选择 hiperf 事件;analysis 阶段可选用 **hstack**、**sourcemap**,或通过 `--trace-from` 切换 trace 来源。
56
+ checkpoint 镜像失效等风险的专项采集与分析。按 `--risk-targets` 选择 hiperf 事件;analysis 阶段可选用 **hstack**、**sourcemap**,并通过 `--trace-format-profile` 配置 trace 解码。
57
+
58
+ `--trace-from` 同时影响 **采集**(hiperf 是否 `--raw-data`)与 **analysis**(是否读 `snapshot_hitrace.txt`、如何与 perf 样本合并);详见下文「analysis 阶段 trace 解码」。
50
59
 
51
60
  **执行阶段**(`defaultGroupOrder`)
52
61
 
@@ -57,7 +66,25 @@ checkpoint 镜像失效等风险的专项采集与分析。按 `--risk-targets`
57
66
  | `collect` | 从设备拉取 perf、hitrace 到 `--output-dir` |
58
67
  | `restore` | 复原 `/proc/checkpoint/revoke_switch` |
59
68
  | `filter` | 按目标进程过滤 perf |
60
- | `analysis` | 选 perf 输入、解码 trace、可选 `backtrackFS`、去重,导出 `dump_stack.txt` / `.json` / `.xlsx` |
69
+ | `analysis` | 选 perf 输入、解码 trace(hitrace 预处理 + hiperf 并行 decode)、可选 `backtrackFS`、去重,导出 `dump_stack.txt` / `.json` / `.xlsx` |
70
+
71
+ ### analysis 阶段 trace 解码
72
+
73
+ analysis 通过 `src/lib/pipeline.ts` 的 pipeline 执行,trace 解码由 `src/lib/perf_decode.ts` 编排(不再在 checker 内逐样本循环):
74
+
75
+ 1. 按 `--trace-format-profile`(或 `auto` 时从设备读取的 format)构建 trace registry。
76
+ 2. 若 `--trace-from` 为 `hitrace` 或 `mix`:主线程一次调用 `hmtrace-parser` 的 `buildHitraceIndexSnapshot` 解析 `workspace/snapshot_hitrace.txt`。
77
+ 3. 调用 `hiperf_txt_parser` 的 `decodePerfRawData`,传入 hitrace 索引与 sidecar 策略;`--parse-concurrency` 大于 `1` 时在**加载 perf 文本**与**trace 解码**(profile 无需主线程 transform 时)均可使用 Worker 池。
78
+
79
+ **`--trace-from` 与 hitrace sidecar 策略(analysis,默认由 trace-from 推导)**
80
+
81
+ | `--trace-from` | 是否预处理 hitrace | sidecar 策略 | 说明 |
82
+ | -------------- | ------------------ | ------------ | ---- |
83
+ | `mix`(默认) | 是 | `perfFirst` | 先解码 perf raw,失败类样本再查 hitrace 索引 |
84
+ | `hitrace` | 是 | `hitraceFirst` | 有对齐快照则先 apply hitrace,成功则跳过 perf raw 解码 |
85
+ | `hiperf` | 否 | `perfOnly` | 仅解码 hiperf `--raw-data`,不读 hitrace 文件 |
86
+
87
+ 采集阶段行为不变:`hitrace` 时 `hiperf record` **不带** `--raw-data`;`hiperf` / `mix` 时 **带** `--raw-data`。`hitrace` 与 `hiperf dump` 在 monitor 中仍会执行。
61
88
 
62
89
  **风险目标 `--risk-targets`**
63
90
 
@@ -74,7 +101,7 @@ checkpoint 镜像失效等风险的专项采集与分析。按 `--risk-targets`
74
101
  | ---- | ---- |
75
102
  | `--app <app>` | 应用包名 |
76
103
  | `--risk-targets <targets>` | 风险事件类型,默认 `all` |
77
- | `--trace-from <source>` | trace 来源:hitrace / hiperf / mix,默认 hitrace |
104
+ | `--trace-from <source>` | **采集**:hiperf record 是否 `--raw-data`(`mix` 默认带,`hiperf` 带,`hitrace` 不带)。**analysis**:是否预处理 hitrace 及 sidecar 策略(见上表);与 `--trace-format-profile` 独立 |
78
105
  | `--hstack-tool-path <path>` | hstack 可执行文件;不配置则跳过 |
79
106
  | `--sourcemap-dir <path>` | 传给 hstack 的 `-s` |
80
107
  | `--log-key <key>` | hilog 过滤字段,默认 `pid` |
@@ -94,16 +121,178 @@ checkpoint 镜像失效等风险的专项采集与分析。按 `--risk-targets`
94
121
  | 选项 | 说明 |
95
122
  | ---- | ---- |
96
123
  | `--hdc-target <sn>` | 全部 `hdc` 命令加 `-t <sn>` |
97
- | `--parse-concurrency <n>` | perf 解析并发 Worker 数,默认 `1` |
124
+ | `--parse-concurrency <n>` | perf **加载**与 **trace 解码** 的 Worker 数,默认 `1`;`profile=auto` 且 format 含主线程 `transformFieldDict` 时解码回退单线程 |
98
125
  | `--log-file [path]` | 日志追加写文件;省略 path 时写入 `<output-dir>/workspace/checker.log` |
99
126
 
100
- **示例**
127
+ ### 使用方式
128
+
129
+ 建议按「预览 → 执行」顺序操作:
130
+
131
+ 1. **`--list`**:按 group 列出将要执行的命令,**不创目录、不连设备执行**(与集成测试 `report --list 不创建 workspace 与 perf_txt` 一致)。
132
+ 2. **`--dry-run`**:按默认阶段顺序列出完整命令序列,**同样不创目录**。
133
+ 3. **正式运行**:省略上述开关,按 `init → monitor → collect → restore → filter → analysis` 依次执行。
134
+
135
+ 只跑部分阶段时,用 `-g` / `--group` 指定,例如 `-g init,monitor` 或 `-g collect,filter,analysis`。
136
+
137
+ ### 控制台输出
138
+
139
+ **运行前摘要**(`--dry-run` 与正式运行均会打印, `--list` 时不打印):
140
+
141
+ ```text
142
+ ℹ [trace-from] mix
143
+ ℹ [风险目标] 失效回溯、直接失效
144
+ ℹ [backtrack] 保留非 FS revoked
145
+ ```
146
+
147
+ 含义:`--trace-from` 当前取值(采集 raw-data 与 analysis sidecar 策略均据此)、已选风险目标、是否执行 `backtrackFS` 及过滤策略。
148
+
149
+ **`--list` 输出格式**(节选):
150
+
151
+ ```text
152
+ [report] 场景命令(按 group 展示):
153
+
154
+ Group: init
155
+ [mac] hdc shell remount — hdc shell remount
156
+ ...
157
+ Group: monitor
158
+ [mac] [background] hdc shell "hilog -t kmsg | grep pid" >> ./output/workspace/snapshot_log.txt — 收集日志到本地
159
+ ...
160
+ ```
161
+
162
+ **`--dry-run` 输出格式**(节选):
163
+
164
+ ```text
165
+ (dry-run) [report] 将要执行的命令:
166
+
167
+ 1. [mac] hdc shell remount — hdc shell remount
168
+ ...
169
+ 13. [mac] hdc shell "hitrace hyperstart ... & hiperf record -e checkpoint:... & ... hiperf dump ..." — 收集风险事件数据
170
+ ...
171
+ 22. [builtin] [func:func] — 风险栈解码
172
+ ```
173
+
174
+ **正式执行时**,每条命令还会输出进度行,例如 `▶ (13/22) [mac] 收集风险事件数据`,结束后打印 `退出码` 与耗时。
175
+
176
+ ### 输出目录
177
+
178
+ 成功跑完 `--output-dir ./output`(默认)后,典型结构如下:
179
+
180
+ ```text
181
+ output/
182
+ ├── dump_stack.txt # 最终调用栈(文本)
183
+ ├── dump_stack.json # 同上(JSON)
184
+ ├── dump_stack.xlsx # 同上(Excel)
185
+ ├── perf_txt/
186
+ │ └── snapshot_perf.data.txt # 设备 hiperf dump 文本
187
+ └── workspace/ # 中间产物
188
+ ├── snapshot_log.txt # hilog 采集
189
+ ├── snapshot_hitrace.txt
190
+ ├── perf.data
191
+ └── _snapshot_perf.data.txt # hstack 解析后 perf(若配置了 hstack)
192
+ ```
193
+
194
+ 未配置 `--hstack-tool-path` 时,analysis 阶段会跳过 hstack,日志出现 `[hstack] 未配置,跳过解析`,直接使用 `perf_txt/snapshot_perf.data.txt` 解码。
195
+
196
+ ### 示例
197
+
198
+ **预览完整流水线(不创目录)**
199
+
200
+ ```bash
201
+ snapshot-checker report --dry-run --app com.example.app --output-dir ./output
202
+ ```
203
+
204
+ 默认 `--trace-from mix`:`monitor` 阶段并行 `hitrace` + `hiperf record --raw-data`,例如:
205
+
206
+ ```text
207
+ hiperf record --raw-data -e checkpoint:vfs_snapshot_dump_monitor,checkpoint:checkpoint_revoked ... -d 70 &
208
+ ...
209
+ hiperf dump -i /data/local/tmp/perf.data -o /data/local/tmp/snapshot_perf.data.txt
210
+ ```
211
+
212
+ analysis 时对 hitrace 使用 **perfFirst** sidecar 策略。
213
+
214
+ **`--trace-from hitrace`:采集不带 `--raw-data`(与 0.6.x 默认一致)**
215
+
216
+ ```bash
217
+ snapshot-checker report --dry-run --app com.example.app --trace-from hitrace
218
+ ```
219
+
220
+ `monitor` 中 `hiperf record` **不带** `--raw-data`;analysis 使用 **hitraceFirst** sidecar。
221
+
222
+ **`--trace-from hiperf`:采集带 `--raw-data`,analysis 不读 hitrace**
223
+
224
+ ```bash
225
+ snapshot-checker report --dry-run --app com.example.app --trace-from hiperf
226
+ ```
227
+
228
+ `monitor` 中 `hiperf record` 带 `--raw-data`;analysis 为 **perfOnly**,不预处理 hitrace 索引。
229
+
230
+ **加大解析并发(大 perf 文本)**
231
+
232
+ ```bash
233
+ snapshot-checker report --app com.example.app --parse-concurrency 4
234
+ ```
235
+
236
+ 在 `loadPerfData` 与 `decodePerfRawData` 阶段启用 Worker(需 profile 不强制主线程 decode)。
237
+
238
+ **按 group 预览**
239
+
240
+ ```bash
241
+ # 只看 init + monitor
242
+ snapshot-checker report --list --app com.example.app -g init,monitor
243
+
244
+ # 只看采集后的拉取与分析
245
+ snapshot-checker report --dry-run --app com.example.app -g collect,filter,analysis
246
+ ```
247
+
248
+ **采集前等待**
249
+
250
+ ```bash
251
+ snapshot-checker report --dry-run --app com.example.app --risk-collect-wait 5
252
+ ```
253
+
254
+ 输出中会出现 `[embed] sleep 5 — 等待 5 秒后开始收集风险事件数据`;默认 `0` 时不插入该步骤。
255
+
256
+ **指定设备与风险目标**
257
+
258
+ ```bash
259
+ snapshot-checker report --app com.example.app \
260
+ --hdc-target DEVICE01 \
261
+ --risk-targets backtrack,direct \
262
+ --trace-format-profile auto \
263
+ --hstack-tool-path /path/to/hstack \
264
+ --sourcemap-dir /path/to/sourcemaps
265
+ ```
266
+
267
+ **正式采集(需已连接 hdc 设备)**
268
+
269
+ ```bash
270
+ snapshot-checker report --app com.example.app --output-dir ./output
271
+ ```
272
+
273
+ 执行完成后在 `./output/` 下查看 `dump_stack.*`;可用 `--log-file` 将完整日志写入 `./output/workspace/checker.log`。
274
+
275
+ **常见错误**
276
+
277
+ 无效 `--trace-from` 值会直接报错并退出,例如:
278
+
279
+ ```bash
280
+ snapshot-checker report --dry-run --app com.example.app --trace-from both
281
+ # [--trace-from] 无效值: "both"。可选: hiperf、hitrace、mix
282
+ ```
283
+
284
+ ---
285
+
286
+ ## `report-user` 命令
287
+
288
+ 面向**无 `hidumper` / `revoke_switch` 权限**的设备用户:选项与 `report` 基本一致,额外要求 `--ability`(与 `--app` 配合,用于 `aa start -a` 启动应用)。
289
+
290
+ - **init**:不执行 `hidumper` / `revoke_switch` 相关步骤,改用 `aa start` + `aa force-stop` 管理应用生命周期。
291
+ - **monitor / collect / filter**:不依赖 `apppool_pids`;hiperf 使用 `--app` 过滤,filter 阶段按 tgid 过滤。
292
+ - **其余阶段**(analysis 等)与 `report` 相同。
101
293
 
102
294
  ```bash
103
- snapshot-checker report --app com.example.app
104
- snapshot-checker report --app com.example.app --risk-targets backtrack,direct
105
- snapshot-checker report --app com.example.app --trace-format-profile auto
106
- snapshot-checker report --app com.example.app --trace-from mix --hstack-tool-path /path/to/hstack
295
+ snapshot-checker report-user --dry-run --app com.example.app --ability EntryAbility
107
296
  ```
108
297
 
109
298
  ---
@@ -126,6 +315,8 @@ snapshot-checker forkall --event-path checkpoint/vfs_snapshot_dump_monitor --app
126
315
  npm test # 单元与集成
127
316
  npm run test:perf # 性能回归
128
317
  npm run test:all # 全部
318
+ npm run format # Prettier 格式化 src / commands / tests / demos
319
+ npm run format:check # 仅检查格式(CI 可用)
129
320
  ```
130
321
 
131
322
  ## 作为库使用
@@ -134,10 +325,12 @@ npm run test:all # 全部
134
325
  import { resolveScenario, runScenarioGroups } from "snapshot-checker";
135
326
  import * as report from "snapshot-checker/commands/report";
136
327
 
137
- const { groups, defaultGroupOrder } = resolveScenario(report, {
138
- app: "com.example.app",
139
- riskTargets: "all",
140
- });
328
+ // dryRun: true CLI --dry-run 相同,applyOptions 不会创建 outputDir
329
+ const { groups, defaultGroupOrder } = resolveScenario(
330
+ report,
331
+ { app: "com.example.app", riskTargets: "all", dryRun: true },
332
+ { hdcTarget: "DEVICE01" },
333
+ );
141
334
 
142
335
  await runScenarioGroups({ groups, defaultGroupOrder, stopOnError: true });
143
336
  ```
@@ -150,8 +343,9 @@ await runScenarioGroups({ groups, defaultGroupOrder, stopOnError: true });
150
343
 
151
344
  本工具按命名场景(`commands/*.ts`、`demos/*.ts`)注册子命令。每个场景导出 **`groups`**、**`defaultGroupOrder`**,可选 **`options`** 与 **`applyOptions(opts)`**。
152
345
 
153
- - **`commands/`**:设备联调场景,主场景 **`report`**;**`forkall`** 已过时。
346
+ - **`commands/`**:设备联调场景,主场景 **`report`**、**`report-user`**(无 hidumper/revoke_switch 权限);**`forkall`** 已过时(analysis 默认 `--trace-from mix`)。
154
347
  - **`demos/`**:示例场景(`context-demo`、`timeout-demo` 等)。
348
+ - **`src/`**:实现采用 **下划线** 源文件名(如 `group_specs.ts`、`run_command.ts`、`lib/perf_decode.ts`、`runners/platform_shell_executor.ts`)。
155
349
 
156
350
  通用开关(各场景子命令可用):`--list`、`--dry-run`、`--stop-on-error`、`-g,--group`、`--wait`、`--silent` 等。完整列表见 `snapshot-checker <scene> --help`。
157
351
 
@@ -1 +1 @@
1
- {"version":3,"file":"forkall.d.ts","sourceRoot":"","sources":["../../commands/forkall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA+B1E,eAAO,MAAM,MAAM,EAAE,MAAW,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAOrC,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;IAmDnB,CAAC;AAEF,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA8KD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAkJlD"}
1
+ {"version":3,"file":"forkall.d.ts","sourceRoot":"","sources":["../../commands/forkall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAqC1E,eAAO,MAAM,MAAM,EAAE,MAAW,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAOrC,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;IAmDnB,CAAC;AAEF,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsKD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAwJlD"}
@@ -3,9 +3,11 @@ import path from "node:path";
3
3
  import { existsSync, mkdirSync } from "node:fs";
4
4
  import { AUTO_TRACE_FORMAT_PROFILE, buildCommonAnalysisGroup, buildCommonAnalysisTargetFilterGroup, buildCommonCollectGroup, buildCommonInitEnvGroup, resolveParseConcurrency, resolveTracingEventPermissionPath, TRACE_FORMAT_PROFILE_CLI_DESCRIPTION, } from "../src/lib/presets.js";
5
5
  import { createHdcCli } from "../src/lib/hdc.js";
6
- import { buildPythonScriptCommand } from "../src/lib/hostCommands.js";
6
+ import { buildPythonScriptCommand } from "../src/lib/host_commands.js";
7
7
  import { ensureTrailingSeparator, normalizeCliOutputDir, quoteLocalPathForShell, resolveProjectRelativePath, } from "../src/lib/paths.js";
8
- import { logger } from "../src/logger.js";
8
+ import { createModuleLogger } from "../src/logger.js";
9
+ import { expandCheckpointRevokedFieldDict, passthroughFieldDict, } from "hmtrace-parser";
10
+ const logger = createModuleLogger(import.meta.url);
9
11
  /**
10
12
  * forkall 场景占位;实际命令由 {@link applyOptions} 按 CLI 注入。
11
13
  * 包消费方:`import * as forkall from 'snapshot-checker/commands/forkall'` 后配合 `resolveScenario`;示例见 `demos/consumer-app`。
@@ -23,7 +25,7 @@ export const defaultGroupOrder = [
23
25
  ];
24
26
  export const options = [
25
27
  { flags: "--event-path <path>", description: "场景事件配置文件路径" },
26
- { flags: "--app <app>", description: "应用包名" },
28
+ { flags: "--app <app>", description: "应用 bundleName(包名)" },
27
29
  {
28
30
  flags: "--system-symbol-file-path <path>",
29
31
  description: "系统符号表文件路径",
@@ -69,7 +71,7 @@ export const options = [
69
71
  },
70
72
  {
71
73
  flags: "--drop-failed-samples",
72
- description: "decodePerfRawData 丢弃无对应 trace 解析器的 raw 样本(dropFailedSamples)",
74
+ description: "decodePerfRawData 丢弃无 trace 解析器的 raw 样本(dropFailedSamples)",
73
75
  },
74
76
  ];
75
77
  function buildRebootGroup(input) {
@@ -179,12 +181,7 @@ function buildAnalysisPreDecodeCommands(input) {
179
181
  buildPythonScriptCommand({
180
182
  description: "系统栈解栈",
181
183
  scriptPath: parserSystemStackScript,
182
- args: [
183
- snapshotPerfFile,
184
- snapshotPerfFile,
185
- "-S",
186
- systemSymbolFilePath,
187
- ],
184
+ args: [snapshotPerfFile, snapshotPerfFile, "-S", systemSymbolFilePath],
188
185
  }),
189
186
  ]
190
187
  : []),
@@ -275,16 +272,26 @@ export function applyOptions(ctx) {
275
272
  traceFormatProfile,
276
273
  decodeStageName: "调用栈解码",
277
274
  missingInputMessage: "[调用栈解码] 无 perf 输入,跳过",
275
+ workspaceDir: workspaceDirNormalized,
276
+ traceFrom: "mix",
278
277
  skipDedupePerfData: skipPerfDedupe,
279
278
  dropFailedSamples,
280
279
  parseConcurrency,
281
280
  traceFormatAuto: traceFormatProfileNormalized === AUTO_TRACE_FORMAT_PROFILE
282
- ? {
283
- hdcCli,
284
- formatPaths: [
285
- `${resolveTracingEventPermissionPath(eventPath)}/format`,
286
- ],
287
- }
281
+ ? (() => {
282
+ const formatPath = `${resolveTracingEventPermissionPath(eventPath)}/format`;
283
+ return {
284
+ hdcCli,
285
+ formatEntries: [
286
+ {
287
+ formatPath,
288
+ transformFieldDict: formatPath.endsWith("/checkpoint/checkpoint_revoked/format")
289
+ ? expandCheckpointRevokedFieldDict
290
+ : passthroughFieldDict,
291
+ },
292
+ ],
293
+ };
294
+ })()
288
295
  : undefined,
289
296
  });
290
297
  const resultGroups = {
@@ -1 +1 @@
1
- {"version":3,"file":"forkall.js","sourceRoot":"","sources":["../../commands/forkall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forkall.js","sourceRoot":"","sources":["../../commands/forkall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { Groups } from "../src/types.js";
2
+ /** report-user 场景占位;内容由 `applyOptions` 注入 */
3
+ export declare const groups: Groups;
4
+ export declare const defaultGroupOrder: string[];
5
+ export declare const options: ({
6
+ flags: string;
7
+ description: string;
8
+ helpGroup: string;
9
+ defaultValue?: undefined;
10
+ } | {
11
+ flags: string;
12
+ description: string;
13
+ defaultValue: string;
14
+ helpGroup: string;
15
+ })[];
16
+ /** 注入 init/monitor/collect/restore/filter/analysis 流水线(无 hidumper / revoke_switch) */
17
+ export declare function applyOptions(ctx: {
18
+ groups: Groups;
19
+ defaultGroupOrder: string[];
20
+ options: Record<string, unknown>;
21
+ }): {
22
+ groups: Groups;
23
+ defaultGroupOrder: string[];
24
+ };
25
+ //# sourceMappingURL=report-user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-user.d.ts","sourceRoot":"","sources":["../../commands/report-user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAO9C,6CAA6C;AAC7C,eAAO,MAAM,MAAM,EAAE,MAAW,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAAoC,CAAC;AAE3E,eAAO,MAAM,OAAO;;;;;;;;;;IAOnB,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,GAAG,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAElD"}
@@ -0,0 +1,17 @@
1
+ import { applyReportScenarioOptions, REPORT_DEFAULT_GROUP_ORDER, REPORT_OPTIONS, } from "../src/lib/report_scenario.js";
2
+ /** report-user 场景占位;内容由 `applyOptions` 注入 */
3
+ export const groups = {};
4
+ export const defaultGroupOrder = [...REPORT_DEFAULT_GROUP_ORDER];
5
+ export const options = [
6
+ ...REPORT_OPTIONS,
7
+ {
8
+ flags: "--ability <ability>",
9
+ description: "应用 Ability 名称(aa start -a),与 --app 配合使用",
10
+ helpGroup: "场景与工具链",
11
+ },
12
+ ];
13
+ /** 注入 init/monitor/collect/restore/filter/analysis 流水线(无 hidumper / revoke_switch) */
14
+ export function applyOptions(ctx) {
15
+ return applyReportScenarioOptions(ctx, "user");
16
+ }
17
+ //# sourceMappingURL=report-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-user.js","sourceRoot":"","sources":["../../commands/report-user.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAW,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAa,CAAC,GAAG,0BAA0B,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,GAAG,cAAc;IACjB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,yCAAyC;QACtD,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC;AAEF,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,GAI5B;IACC,OAAO,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
@@ -13,38 +13,13 @@ export declare const options: ({
13
13
  defaultValue: string;
14
14
  helpGroup: string;
15
15
  })[];
16
- interface ForkallOptions {
17
- app?: string;
18
- hstackToolPath?: string;
19
- sourcemapDir?: string;
20
- logKey?: string;
21
- duration?: string;
22
- backtrackDelay?: string;
23
- riskCollectWait?: string;
24
- bufferSize?: string;
25
- outputDir?: string;
26
- traceFormatProfile?: string;
27
- riskTargets?: string;
28
- traceFrom?: string;
29
- skipPerfDedupe?: boolean;
30
- skipBacktrack?: boolean;
31
- skipNonBacktrack?: boolean;
32
- dropFailedSamples?: boolean;
33
- hdcTarget?: string;
34
- /** 全局 `--parse-concurrency`:hiperf_txt_parser 解析并发度,默认 1 */
35
- parseConcurrency?: unknown;
36
- dryRun?: boolean;
37
- /** CLI `--list`:只列命令,不建输出目录、不打印运行期摘要 */
38
- list?: boolean;
39
- }
40
16
  /** 注入 init/monitor/collect/restore/filter/analysis 流水线及风险目标等派生命令 */
41
17
  export declare function applyOptions(ctx: {
42
18
  groups: Groups;
43
19
  defaultGroupOrder: string[];
44
- options: ForkallOptions;
20
+ options: Record<string, unknown>;
45
21
  }): {
46
22
  groups: Groups;
47
23
  defaultGroupOrder: string[];
48
24
  };
49
- export {};
50
25
  //# sourceMappingURL=report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../commands/report.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAqB1E,wCAAwC;AACxC,eAAO,MAAM,MAAM,EAAE,MAAW,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAOrC,CAAC;AAuDF,eAAO,MAAM,OAAO;;;;;;;;;;IA+FnB,CAAC;AAEF,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsPD,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAiMlD"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../commands/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAO9C,wCAAwC;AACxC,eAAO,MAAM,MAAM,EAAE,MAAW,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAAoC,CAAC;AAE3E,eAAO,MAAM,OAAO;;;;;;;;;;IAQnB,CAAC;AAEF,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAElD"}