snapshot-checker 0.6.4 → 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.
- package/README.md +203 -11
- package/dist/commands/forkall.d.ts.map +1 -1
- package/dist/commands/forkall.js +23 -16
- package/dist/commands/forkall.js.map +1 -1
- package/dist/commands/report-user.d.ts +25 -0
- package/dist/commands/report-user.d.ts.map +1 -0
- package/dist/commands/report-user.js +17 -0
- package/dist/commands/report-user.js.map +1 -0
- package/dist/commands/report.d.ts +1 -26
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +6 -417
- package/dist/commands/report.js.map +1 -1
- package/dist/demos/timeout-demo.d.ts.map +1 -1
- package/dist/demos/timeout-demo.js +1 -1
- package/dist/demos/timeout-demo.js.map +1 -1
- package/dist/src/bin.d.ts +3 -0
- package/dist/src/bin.d.ts.map +1 -0
- package/dist/src/bin.js +57 -0
- package/dist/src/bin.js.map +1 -0
- package/dist/src/cli.js +28 -48
- package/dist/src/cli.js.map +1 -1
- package/dist/src/executor.d.ts +5 -5
- package/dist/src/executor.d.ts.map +1 -1
- package/dist/src/executor.js +3 -3
- package/dist/src/executor.js.map +1 -1
- package/dist/src/{groupSpecs.d.ts → group_specs.d.ts} +2 -2
- package/dist/src/group_specs.d.ts.map +1 -0
- package/dist/src/{groupSpecs.js → group_specs.js} +1 -1
- package/dist/src/group_specs.js.map +1 -0
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/format.d.ts +30 -0
- package/dist/src/lib/format.d.ts.map +1 -0
- package/dist/src/lib/format.js +76 -0
- package/dist/src/lib/format.js.map +1 -0
- package/dist/src/lib/{hostCommands.d.ts → host_commands.d.ts} +6 -1
- package/dist/src/lib/host_commands.d.ts.map +1 -0
- package/dist/src/lib/{hostCommands.js → host_commands.js} +9 -1
- package/dist/src/lib/host_commands.js.map +1 -0
- package/dist/src/lib/perf_decode.d.ts +25 -0
- package/dist/src/lib/perf_decode.d.ts.map +1 -0
- package/dist/src/lib/perf_decode.js +90 -0
- package/dist/src/lib/perf_decode.js.map +1 -0
- package/dist/src/lib/pipeline.d.ts +108 -0
- package/dist/src/lib/pipeline.d.ts.map +1 -0
- package/dist/src/lib/pipeline.js +294 -0
- package/dist/src/lib/pipeline.js.map +1 -0
- package/dist/src/lib/preflight.d.ts +2 -0
- package/dist/src/lib/preflight.d.ts.map +1 -0
- package/dist/src/lib/preflight.js +45 -0
- package/dist/src/lib/preflight.js.map +1 -0
- package/dist/src/lib/presets.d.ts +46 -27
- package/dist/src/lib/presets.d.ts.map +1 -1
- package/dist/src/lib/presets.js +187 -216
- package/dist/src/lib/presets.js.map +1 -1
- package/dist/src/lib/programmatic.d.ts +30 -0
- package/dist/src/lib/programmatic.d.ts.map +1 -0
- package/dist/src/lib/programmatic.js +40 -0
- package/dist/src/lib/programmatic.js.map +1 -0
- package/dist/src/lib/report_scenario.d.ts +50 -0
- package/dist/src/lib/report_scenario.d.ts.map +1 -0
- package/dist/src/lib/report_scenario.js +497 -0
- package/dist/src/lib/report_scenario.js.map +1 -0
- package/dist/src/lib/scenario.d.ts +1 -1
- package/dist/src/lib/scenario.d.ts.map +1 -1
- package/dist/src/lib/scenario.js +3 -4
- package/dist/src/lib/scenario.js.map +1 -1
- package/dist/src/lib/version.d.ts +12 -0
- package/dist/src/lib/version.d.ts.map +1 -0
- package/dist/src/lib/version.js +51 -0
- package/dist/src/lib/version.js.map +1 -0
- package/dist/src/logger.d.ts +31 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +182 -16
- package/dist/src/logger.js.map +1 -1
- package/dist/src/{runCommand.d.ts → run_command.d.ts} +1 -1
- package/dist/src/run_command.d.ts.map +1 -0
- package/dist/src/{runCommand.js → run_command.js} +5 -6
- package/dist/src/run_command.js.map +1 -0
- package/dist/src/{runGroups.d.ts → run_groups.d.ts} +12 -3
- package/dist/src/run_groups.d.ts.map +1 -0
- package/dist/src/{runGroups.js → run_groups.js} +28 -13
- package/dist/src/run_groups.js.map +1 -0
- package/dist/src/runners/{backgroundExecutor.d.ts → background_executor.d.ts} +3 -3
- package/dist/src/runners/background_executor.d.ts.map +1 -0
- package/dist/src/runners/{backgroundExecutor.js → background_executor.js} +3 -3
- package/dist/src/runners/background_executor.js.map +1 -0
- package/dist/src/runners/{builtinRunner.d.ts → builtin_runner.d.ts} +1 -1
- package/dist/src/runners/builtin_runner.d.ts.map +1 -0
- package/dist/src/runners/{builtinRunner.js → builtin_runner.js} +1 -1
- package/dist/src/runners/builtin_runner.js.map +1 -0
- package/dist/src/runners/{embedRunner.d.ts → embed_runner.d.ts} +1 -1
- package/dist/src/runners/embed_runner.d.ts.map +1 -0
- package/dist/src/runners/{embedRunner.js → embed_runner.js} +2 -2
- package/dist/src/runners/{embedRunner.js.map → embed_runner.js.map} +1 -1
- package/dist/src/runners/index.d.ts +5 -5
- package/dist/src/runners/index.d.ts.map +1 -1
- package/dist/src/runners/index.js +4 -4
- package/dist/src/runners/index.js.map +1 -1
- package/dist/src/runners/{platformShellExecutor.d.ts → platform_shell_executor.d.ts} +1 -1
- package/dist/src/runners/platform_shell_executor.d.ts.map +1 -0
- package/dist/src/runners/{platformShellExecutor.js → platform_shell_executor.js} +2 -2
- package/dist/src/runners/platform_shell_executor.js.map +1 -0
- package/dist/src/runners/{shellRunner.d.ts → shell_runner.d.ts} +1 -1
- package/dist/src/runners/shell_runner.d.ts.map +1 -0
- package/dist/src/runners/{shellRunner.js → shell_runner.js} +11 -16
- package/dist/src/runners/shell_runner.js.map +1 -0
- package/dist/src/runners/types.d.ts.map +1 -1
- package/dist/src/types.d.ts +2 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +13 -4
- package/dist/src/groupSpecs.d.ts.map +0 -1
- package/dist/src/groupSpecs.js.map +0 -1
- package/dist/src/lib/hostCommands.d.ts.map +0 -1
- package/dist/src/lib/hostCommands.js.map +0 -1
- package/dist/src/runCommand.d.ts.map +0 -1
- package/dist/src/runCommand.js.map +0 -1
- package/dist/src/runGroups.d.ts.map +0 -1
- package/dist/src/runGroups.js.map +0 -1
- package/dist/src/runners/backgroundExecutor.d.ts.map +0 -1
- package/dist/src/runners/backgroundExecutor.js.map +0 -1
- package/dist/src/runners/builtinRunner.d.ts.map +0 -1
- package/dist/src/runners/builtinRunner.js.map +0 -1
- package/dist/src/runners/embedRunner.d.ts.map +0 -1
- package/dist/src/runners/platformShellExecutor.d.ts.map +0 -1
- package/dist/src/runners/platformShellExecutor.js.map +0 -1
- package/dist/src/runners/shellRunner.d.ts.map +0 -1
- package/dist/src/runners/shellRunner.js.map +0 -1
package/dist/src/cli.js
CHANGED
|
@@ -1,39 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { program, Option } from "commander";
|
|
3
|
-
import {
|
|
3
|
+
import { readdirSync } from "node:fs";
|
|
4
4
|
import { dirname, extname, basename, join } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { getGroupChunks, runGroupChunks } from "./executor.js";
|
|
7
|
-
import { attachLoggerFileSink,
|
|
8
|
-
import { parseGroupSpecs } from "./
|
|
7
|
+
import { attachLoggerFileSink, createModuleLogger, resolveLogDumpPath, setGlobalLogLevelFromCli, SNAPSHOT_CHECKER_LOG_LEVEL_CHOICES, } from "./logger.js";
|
|
8
|
+
import { parseGroupSpecs } from "./group_specs.js";
|
|
9
9
|
import { buildApplyOptionsInput } from "./lib/scenario.js";
|
|
10
|
+
import { formatInvocationCommandLine, readSnapshotCheckerVersion, } from "./lib/version.js";
|
|
10
11
|
import { formatCommandKindForLog, } from "./types.js";
|
|
12
|
+
const logger = createModuleLogger(import.meta.url);
|
|
11
13
|
const cliModuleDir = dirname(fileURLToPath(import.meta.url));
|
|
12
|
-
/**
|
|
13
|
-
* 从磁盘向上查找本包 `package.json`(`name === snapshot-checker`),与 `src/cli.ts` 或 `dist/src/cli.js` 位置无关。
|
|
14
|
-
*/
|
|
15
|
-
function readSnapshotCheckerVersion() {
|
|
16
|
-
let dir = cliModuleDir;
|
|
17
|
-
for (let i = 0; i < 12; i++) {
|
|
18
|
-
const pkgPath = join(dir, "package.json");
|
|
19
|
-
if (existsSync(pkgPath)) {
|
|
20
|
-
try {
|
|
21
|
-
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
22
|
-
if (pkg.name === "snapshot-checker" && typeof pkg.version === "string") {
|
|
23
|
-
return pkg.version;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
/* 继续向上 */
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
const parent = dirname(dir);
|
|
31
|
-
if (parent === dir)
|
|
32
|
-
break;
|
|
33
|
-
dir = parent;
|
|
34
|
-
}
|
|
35
|
-
return "0.0.0-dev";
|
|
36
|
-
}
|
|
37
14
|
const customCommands = [];
|
|
38
15
|
/**
|
|
39
16
|
* 在「Options:」区块内:先列出无 helpGroup 的选项,再按组输出带 helpGroup 的选项;
|
|
@@ -98,17 +75,11 @@ function formatHelpWithScenarioOptionGroups(cmd, helper) {
|
|
|
98
75
|
output = output.concat(["Options:", formatList(optionList), ""]);
|
|
99
76
|
}
|
|
100
77
|
if (helper.showGlobalOptions) {
|
|
101
|
-
const globalOptionList = helper
|
|
102
|
-
.visibleGlobalOptions(cmd)
|
|
103
|
-
.map((option) => {
|
|
78
|
+
const globalOptionList = helper.visibleGlobalOptions(cmd).map((option) => {
|
|
104
79
|
return formatItem(helper.optionTerm(option), helper.optionDescription(option));
|
|
105
80
|
});
|
|
106
81
|
if (globalOptionList.length > 0) {
|
|
107
|
-
output = output.concat([
|
|
108
|
-
"Global Options:",
|
|
109
|
-
formatList(globalOptionList),
|
|
110
|
-
"",
|
|
111
|
-
]);
|
|
82
|
+
output = output.concat(["Global Options:", formatList(globalOptionList), ""]);
|
|
112
83
|
}
|
|
113
84
|
}
|
|
114
85
|
const commandList = helper.visibleCommands(cmd).map((sub) => {
|
|
@@ -248,7 +219,10 @@ async function registerScenarioCommands(rootProgram) {
|
|
|
248
219
|
? undefined
|
|
249
220
|
: resolveLogDumpPath(globals);
|
|
250
221
|
const detachLog = logDumpPath !== undefined
|
|
251
|
-
? attachLoggerFileSink(logDumpPath
|
|
222
|
+
? attachLoggerFileSink(logDumpPath, {
|
|
223
|
+
commandLine: formatInvocationCommandLine(),
|
|
224
|
+
version: readSnapshotCheckerVersion(),
|
|
225
|
+
})
|
|
252
226
|
: undefined;
|
|
253
227
|
try {
|
|
254
228
|
let scenarioGroups = mod.groups;
|
|
@@ -342,7 +316,7 @@ async function registerScenarioCommands(rootProgram) {
|
|
|
342
316
|
const chunks = getGroupChunks(scenarioGroups, specs, {
|
|
343
317
|
ignorePlatform,
|
|
344
318
|
});
|
|
345
|
-
const commandsToRun = chunks.
|
|
319
|
+
const commandsToRun = chunks.flatMap((chunk) => chunk.commands);
|
|
346
320
|
console.log(`\n(dry-run) [${commandName}] 将要执行的命令:\n`);
|
|
347
321
|
if (unknownGroups.length > 0) {
|
|
348
322
|
logger.warn(`未找到以下 group:${unknownGroups.join(", ")}`);
|
|
@@ -354,16 +328,22 @@ async function registerScenarioCommands(rootProgram) {
|
|
|
354
328
|
console.log("");
|
|
355
329
|
return;
|
|
356
330
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
const
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
331
|
+
let cmdIndex = 0;
|
|
332
|
+
for (const chunk of chunks) {
|
|
333
|
+
const repeatSuffix = chunk.repeat > 1 ? `(${chunk.round}/${chunk.repeat})` : "";
|
|
334
|
+
console.log(`\n [group] ${chunk.name}${repeatSuffix} — ${chunk.commands.length} 条命令`);
|
|
335
|
+
for (const c of chunk.commands) {
|
|
336
|
+
cmdIndex += 1;
|
|
337
|
+
const text = getCommandTextForDisplay(c);
|
|
338
|
+
const backgroundTag = getBackgroundTag(c);
|
|
339
|
+
const desc = c.description != null && c.description !== ""
|
|
340
|
+
? ` — ${c.description}`
|
|
341
|
+
: text
|
|
342
|
+
? ` — ${text}`
|
|
343
|
+
: "";
|
|
344
|
+
console.log(` ${cmdIndex}. [${formatCommandKindForLog(c, ignorePlatform)}]${backgroundTag} ${text || "(无命令)"}${desc}`);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
367
347
|
console.log("");
|
|
368
348
|
return;
|
|
369
349
|
}
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/executor.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/** 对外导出:`
|
|
2
|
-
export { executeOne, executeAll, finalizeBackgroundProcesses, isSupportedOnCurrentPlatform, } from "./
|
|
3
|
-
export type { ExecuteAllOptions, ExecuteOneOptions } from "./
|
|
4
|
-
export { getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, type GroupSpec, } from "./
|
|
5
|
-
export type { RunGroupChunksOptions } from "./
|
|
1
|
+
/** 对外导出:`run_command`、`run_groups` */
|
|
2
|
+
export { executeOne, executeAll, finalizeBackgroundProcesses, isSupportedOnCurrentPlatform, } from "./run_command.js";
|
|
3
|
+
export type { ExecuteAllOptions, ExecuteOneOptions } from "./run_command.js";
|
|
4
|
+
export { getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, type GroupChunk, type GroupSpec, } from "./run_groups.js";
|
|
5
|
+
export type { RunGroupChunksOptions } from "./run_groups.js";
|
|
6
6
|
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/executor.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/executor.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EACL,UAAU,EACV,UAAU,EACV,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,KAAK,UAAU,EACf,KAAK,SAAS,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/src/executor.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** 对外导出:`
|
|
2
|
-
export { executeOne, executeAll, finalizeBackgroundProcesses, isSupportedOnCurrentPlatform, } from "./
|
|
3
|
-
export { getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, } from "./
|
|
1
|
+
/** 对外导出:`run_command`、`run_groups` */
|
|
2
|
+
export { executeOne, executeAll, finalizeBackgroundProcesses, isSupportedOnCurrentPlatform, } from "./run_command.js";
|
|
3
|
+
export { getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, } from "./run_groups.js";
|
|
4
4
|
//# sourceMappingURL=executor.js.map
|
package/dist/src/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/executor.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/executor.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EACL,UAAU,EACV,UAAU,EACV,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EACd,cAAc,GAGf,MAAM,iBAAiB,CAAC"}
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* - 多条可拆在多个 argv,或写在一条里用逗号分隔;
|
|
6
6
|
* - `name` 表示执行一次,`name:N` 表示该组重复 N 次(非法或小于 1 时按 1 处理)。
|
|
7
7
|
*/
|
|
8
|
-
import type { GroupSpec } from "./
|
|
8
|
+
import type { GroupSpec } from "./run_groups.js";
|
|
9
9
|
export declare function parseGroupSpecs(raw: string[] | undefined, defaultOrder: string[]): GroupSpec[];
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=group_specs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group_specs.d.ts","sourceRoot":"","sources":["../../src/group_specs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,EACzB,YAAY,EAAE,MAAM,EAAE,GACrB,SAAS,EAAE,CA8Bb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group_specs.js","sourceRoot":"","sources":["../../src/group_specs.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,eAAe,CAC7B,GAAyB,EACzB,YAAsB;IAEtB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,KAAK,MAAM,YAAY,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { executeOne, executeAll, finalizeBackgroundProcesses, getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, isSupportedOnCurrentPlatform, type GroupSpec, type RunGroupChunksOptions, type ExecuteAllOptions, } from "./executor.js";
|
|
2
|
-
export { parseGroupSpecs } from "./
|
|
1
|
+
export { executeOne, executeAll, finalizeBackgroundProcesses, getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, isSupportedOnCurrentPlatform, type GroupChunk, type GroupSpec, type RunGroupChunksOptions, type ExecuteAllOptions, } from "./executor.js";
|
|
2
|
+
export { parseGroupSpecs } from "./group_specs.js";
|
|
3
3
|
export { buildApplyOptionsInput, resolveScenario, runScenarioGroups, normalizeGroupCliArg, type ScenarioGlobalOptions, type ScenarioModuleLike, type RunScenarioGroupsInput, type RunScenarioGroupsResult, } from "./lib/scenario.js";
|
|
4
4
|
export { createHdcCli, type HdcCli } from "./lib/hdc.js";
|
|
5
|
-
export { CommandKind, createCommandContext, getCurrentPlatformKind
|
|
5
|
+
export { CommandKind, createCommandContext, getCurrentPlatformKind } from "./types.js";
|
|
6
6
|
export type { CommandContext, CommandDef, CommandResult, RunOptions, Groups, } from "./types.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACvF,YAAY,EACV,cAAc,EACd,UAAU,EACV,aAAa,EACb,UAAU,EACV,MAAM,GACP,MAAM,YAAY,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { executeOne, executeAll, finalizeBackgroundProcesses, getCommandsToRun, getCommandsToRunWithRepeat, getGroupChunks, runGroupChunks, isSupportedOnCurrentPlatform, } from "./executor.js";
|
|
2
|
-
export { parseGroupSpecs } from "./
|
|
2
|
+
export { parseGroupSpecs } from "./group_specs.js";
|
|
3
3
|
export { buildApplyOptionsInput, resolveScenario, runScenarioGroups, normalizeGroupCliArg, } from "./lib/scenario.js";
|
|
4
4
|
export { createHdcCli } from "./lib/hdc.js";
|
|
5
|
-
export { CommandKind, createCommandContext, getCurrentPlatformKind
|
|
5
|
+
export { CommandKind, createCommandContext, getCurrentPlatformKind } from "./types.js";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,4BAA4B,GAK7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GAKrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAe,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FieldDictTransformFn } from "hiperf_txt_parser";
|
|
2
|
+
import type { HdcCli } from "./hdc.js";
|
|
3
|
+
import { type TraceEventFormat } from "hmtrace-parser";
|
|
4
|
+
/** analysis 阶段从设备 ftrace `format` 文件读取 trace 格式 */
|
|
5
|
+
export declare const AUTO_TRACE_FORMAT_PROFILE = "auto";
|
|
6
|
+
/** `--trace-format-profile` 选项说明(可选值来自 hmtrace-parser {@link getTraceEventFormatProfiles} + auto) */
|
|
7
|
+
export declare const TRACE_FORMAT_PROFILE_CLI_DESCRIPTION: string;
|
|
8
|
+
/**
|
|
9
|
+
* 将用户传入的 profile 规范为 hmtrace-parser 已登记名或 `auto`;未知时回退 `default`。
|
|
10
|
+
* 与 {@link getTraceEventFormats} 的回退语义一致,并供 {@link backtrackFS} 使用同一 profile 名。
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveTraceFormatProfile(traceFormatProfile: string, options?: {
|
|
13
|
+
stageName?: string;
|
|
14
|
+
}): string;
|
|
15
|
+
/** auto profile 下单个 ftrace format 路径及其字段字典变换策略 */
|
|
16
|
+
export type TraceFormatAutoEntry = {
|
|
17
|
+
formatPath: string;
|
|
18
|
+
transformFieldDict: FieldDictTransformFn;
|
|
19
|
+
};
|
|
20
|
+
export type TraceFormatAutoConfig = {
|
|
21
|
+
hdcCli: HdcCli;
|
|
22
|
+
formatEntries: readonly TraceFormatAutoEntry[];
|
|
23
|
+
/** 测试注入:替代 `executeOne` + {@link HdcCli.shell} */
|
|
24
|
+
runShell?: (run: string) => Promise<string>;
|
|
25
|
+
};
|
|
26
|
+
/** 经 hdc `shell cat` 拉取各 format 路径并组装 {@link TraceEventFormat} 列表 */
|
|
27
|
+
export declare function fetchTraceEventFormatsFromDevice(config: TraceFormatAutoConfig): Promise<TraceEventFormat[]>;
|
|
28
|
+
/** 将相对 `tracing/events/` 的路径或已是绝对路径规范为 ftrace 事件目录 */
|
|
29
|
+
export declare function resolveTracingEventPermissionPath(eventPath: string): string;
|
|
30
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/lib/format.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAA+B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpF,mDAAmD;AACnD,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAEhD,qGAAqG;AACrG,eAAO,MAAM,oCAAoC,QAI7C,CAAC;AAEL;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,MAAM,CAmBR;AAED,kDAAkD;AAClD,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC/C,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C,CAAC;AA2BF,qEAAqE;AACrE,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiB7B;AAID,sDAAsD;AACtD,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE3E"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/** trace 格式 profile 解析与从设备读取 ftrace format */
|
|
2
|
+
import { createModuleLogger } from "../logger.js";
|
|
3
|
+
const logger = createModuleLogger(import.meta.url);
|
|
4
|
+
import { SHELL_PLATFORM_KINDS } from "../types.js";
|
|
5
|
+
import { executeOne } from "../run_command.js";
|
|
6
|
+
import { getTraceEventFormatProfiles } from "hmtrace-parser";
|
|
7
|
+
/** analysis 阶段从设备 ftrace `format` 文件读取 trace 格式 */
|
|
8
|
+
export const AUTO_TRACE_FORMAT_PROFILE = "auto";
|
|
9
|
+
/** `--trace-format-profile` 选项说明(可选值来自 hmtrace-parser {@link getTraceEventFormatProfiles} + auto) */
|
|
10
|
+
export const TRACE_FORMAT_PROFILE_CLI_DESCRIPTION = (() => {
|
|
11
|
+
const names = getTraceEventFormatProfiles();
|
|
12
|
+
const listed = names.length > 0 ? `auto、${names.join("、")}` : "auto";
|
|
13
|
+
return `trace 格式 profile,默认 default;可选:${listed};auto 在 analysis 从设备 format 读取`;
|
|
14
|
+
})();
|
|
15
|
+
/**
|
|
16
|
+
* 将用户传入的 profile 规范为 hmtrace-parser 已登记名或 `auto`;未知时回退 `default`。
|
|
17
|
+
* 与 {@link getTraceEventFormats} 的回退语义一致,并供 {@link backtrackFS} 使用同一 profile 名。
|
|
18
|
+
*/
|
|
19
|
+
export function resolveTraceFormatProfile(traceFormatProfile, options) {
|
|
20
|
+
const normalized = traceFormatProfile.trim();
|
|
21
|
+
if (normalized === AUTO_TRACE_FORMAT_PROFILE) {
|
|
22
|
+
return AUTO_TRACE_FORMAT_PROFILE;
|
|
23
|
+
}
|
|
24
|
+
const availableProfiles = getTraceEventFormatProfiles();
|
|
25
|
+
const selectedProfile = availableProfiles.includes(normalized)
|
|
26
|
+
? normalized
|
|
27
|
+
: "default";
|
|
28
|
+
if (selectedProfile !== normalized &&
|
|
29
|
+
options?.stageName != null &&
|
|
30
|
+
options.stageName.length > 0) {
|
|
31
|
+
logger.warn(`[${options.stageName}] profile 未知 "${traceFormatProfile}",已用 default`);
|
|
32
|
+
}
|
|
33
|
+
return selectedProfile;
|
|
34
|
+
}
|
|
35
|
+
async function catDeviceFileViaHdc(hdcCli, remotePath, runShell) {
|
|
36
|
+
const run = hdcCli.shell(`"cat ${remotePath}"`);
|
|
37
|
+
if (runShell) {
|
|
38
|
+
return runShell(run);
|
|
39
|
+
}
|
|
40
|
+
const result = await executeOne({
|
|
41
|
+
kind: SHELL_PLATFORM_KINDS,
|
|
42
|
+
description: `cat ${remotePath}`,
|
|
43
|
+
run,
|
|
44
|
+
}, { streamOutput: false });
|
|
45
|
+
const text = result.stdout ?? "";
|
|
46
|
+
if (!result.success || text.length === 0) {
|
|
47
|
+
const detail = result.stderr?.trim() || `exitCode=${result.exitCode}`;
|
|
48
|
+
throw new Error(`cat ${remotePath} 失败: ${detail}`);
|
|
49
|
+
}
|
|
50
|
+
return text;
|
|
51
|
+
}
|
|
52
|
+
/** 经 hdc `shell cat` 拉取各 format 路径并组装 {@link TraceEventFormat} 列表 */
|
|
53
|
+
export async function fetchTraceEventFormatsFromDevice(config) {
|
|
54
|
+
const { hdcCli, formatEntries, runShell } = config;
|
|
55
|
+
const uniqueByPath = new Map();
|
|
56
|
+
for (const entry of formatEntries) {
|
|
57
|
+
if (!uniqueByPath.has(entry.formatPath)) {
|
|
58
|
+
uniqueByPath.set(entry.formatPath, entry);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const formats = [];
|
|
62
|
+
for (const { formatPath, transformFieldDict } of uniqueByPath.values()) {
|
|
63
|
+
const text = await catDeviceFileViaHdc(hdcCli, formatPath, runShell);
|
|
64
|
+
formats.push({
|
|
65
|
+
text,
|
|
66
|
+
transformFieldDict,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return formats;
|
|
70
|
+
}
|
|
71
|
+
const TRACING_EVENTS_DIR = "/sys/kernel/tracing/events";
|
|
72
|
+
/** 将相对 `tracing/events/` 的路径或已是绝对路径规范为 ftrace 事件目录 */
|
|
73
|
+
export function resolveTracingEventPermissionPath(eventPath) {
|
|
74
|
+
return eventPath.startsWith("/") ? eventPath : `${TRACING_EVENTS_DIR}/${eventPath}`;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/lib/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,11 @@ export declare function buildUnlinkEmbedCommand(input: {
|
|
|
11
11
|
filePath: string;
|
|
12
12
|
description?: string;
|
|
13
13
|
}): CommandDef;
|
|
14
|
+
/** 构建 embed 内置 `sleep` 命令(宿主等待,非设备 shell)。 */
|
|
15
|
+
export declare function buildSleepEmbedCommand(input: {
|
|
16
|
+
seconds: number;
|
|
17
|
+
description?: string;
|
|
18
|
+
}): CommandDef;
|
|
14
19
|
/** 运行 Python 脚本并等待退出;`exitCode === 0` 为成功。 */
|
|
15
20
|
export declare function runPythonScript(scriptPath: string, args: string[]): Promise<{
|
|
16
21
|
success: boolean;
|
|
@@ -23,4 +28,4 @@ export declare function buildPythonScriptCommand(input: {
|
|
|
23
28
|
args: string[];
|
|
24
29
|
description?: string;
|
|
25
30
|
}): CommandDef;
|
|
26
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=host_commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host_commands.d.ts","sourceRoot":"","sources":["../../../src/lib/host_commands.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqB/D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQ3D;AAED,0CAA0C;AAC1C,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,UAAU,CAMb;AAED,8CAA8C;AAC9C,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,UAAU,CAMb;AAMD,8CAA8C;AAC9C,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA0BxE;AAED,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,UAAU,CAiBb"}
|
|
@@ -47,6 +47,14 @@ export function buildUnlinkEmbedCommand(input) {
|
|
|
47
47
|
run: `unlink ${JSON.stringify(input.filePath)}`,
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
+
/** 构建 embed 内置 `sleep` 命令(宿主等待,非设备 shell)。 */
|
|
51
|
+
export function buildSleepEmbedCommand(input) {
|
|
52
|
+
return {
|
|
53
|
+
kind: CommandKind.Embed,
|
|
54
|
+
description: input.description ?? `等待 ${input.seconds} 秒`,
|
|
55
|
+
run: `sleep ${input.seconds}`,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
50
58
|
function resolvePythonExecutable() {
|
|
51
59
|
return process.platform === "win32" ? "python" : "python3";
|
|
52
60
|
}
|
|
@@ -97,4 +105,4 @@ export function buildPythonScriptCommand(input) {
|
|
|
97
105
|
},
|
|
98
106
|
};
|
|
99
107
|
}
|
|
100
|
-
//# sourceMappingURL=
|
|
108
|
+
//# sourceMappingURL=host_commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host_commands.js","sourceRoot":"","sources":["../../../src/lib/host_commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** analysis 阶段 perf trace 解码(hitrace 预处理 + hiperf 并行 decode) */
|
|
2
|
+
import { type HitraceSidecarOptions, type HitraceThreadIndexSnapshot, type HitraceTimeThresholdOnExceed, type HitraceTimeThresholdOptions, type PerfData } from "hiperf_txt_parser";
|
|
3
|
+
import { type TraceEventFormat } from "hmtrace-parser";
|
|
4
|
+
export type TraceFromSource = "hiperf" | "hitrace" | "mix";
|
|
5
|
+
export type TraceTimeThresholdOpt = HitraceTimeThresholdOnExceed;
|
|
6
|
+
/** 解析 report `--trace-from-threshold` / `--trace-from-threshold-opt` 为 hiperf hitrace `timeThreshold` */
|
|
7
|
+
export declare function resolveHitraceTimeThreshold(input: {
|
|
8
|
+
traceFrom: TraceFromSource;
|
|
9
|
+
thresholdMs?: number;
|
|
10
|
+
onExceed?: TraceTimeThresholdOpt;
|
|
11
|
+
}): HitraceTimeThresholdOptions | undefined;
|
|
12
|
+
export declare function defaultHitraceSidecarOptions(traceFrom: TraceFromSource, index?: HitraceThreadIndexSnapshot): HitraceSidecarOptions;
|
|
13
|
+
export declare function decodePerfDataWithProfile(input: {
|
|
14
|
+
perfData: PerfData;
|
|
15
|
+
selectedProfile: string;
|
|
16
|
+
formats?: readonly TraceEventFormat[];
|
|
17
|
+
traceFrom: TraceFromSource;
|
|
18
|
+
workspaceDir: string;
|
|
19
|
+
parseConcurrency: number;
|
|
20
|
+
dropFailedSamples: boolean;
|
|
21
|
+
/** report `--trace-from-threshold` / `--trace-from-threshold-opt`;`traceFrom=hiperf` 或未配置 threshold 时不生效 */
|
|
22
|
+
traceThresholdMs?: number;
|
|
23
|
+
traceThresholdOpt?: TraceTimeThresholdOpt;
|
|
24
|
+
}): Promise<PerfData>;
|
|
25
|
+
//# sourceMappingURL=perf_decode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf_decode.d.ts","sourceRoot":"","sources":["../../../src/lib/perf_decode.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAML,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,QAAQ,EAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAMxB,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AAEjE,yGAAyG;AACzG,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,SAAS,EAAE,eAAe,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC,GAAG,2BAA2B,GAAG,SAAS,CAQ1C;AAYD,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,eAAe,EAC1B,KAAK,CAAC,EAAE,0BAA0B,GACjC,qBAAqB,CAmBvB;AAYD,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACtC,SAAS,EAAE,eAAe,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,4GAA4G;IAC5G,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;CAC3C,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0DpB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/** analysis 阶段 perf trace 解码(hitrace 预处理 + hiperf 并行 decode) */
|
|
2
|
+
import { decodePerfRawData, hitracePolicyHitraceFirst, hitracePolicyPerfFirst, hitracePolicyPerfOnly, traceFormatTextsNeedMainThreadDecode, } from "hiperf_txt_parser";
|
|
3
|
+
import { buildHitraceIndexSnapshot, buildTraceRegistry, buildTraceRegistryFromProfile, getTraceEventFormats, } from "hmtrace-parser";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { createModuleLogger } from "../logger.js";
|
|
6
|
+
const logger = createModuleLogger(import.meta.url);
|
|
7
|
+
/** 解析 report `--trace-from-threshold` / `--trace-from-threshold-opt` 为 hiperf hitrace `timeThreshold` */
|
|
8
|
+
export function resolveHitraceTimeThreshold(input) {
|
|
9
|
+
if (input.traceFrom === "hiperf" || input.thresholdMs == null) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
ms: input.thresholdMs,
|
|
14
|
+
onExceed: input.onExceed ?? "drop",
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function applyTimeThreshold(hitrace, timeThreshold) {
|
|
18
|
+
if (timeThreshold == null) {
|
|
19
|
+
return hitrace;
|
|
20
|
+
}
|
|
21
|
+
return { ...hitrace, timeThreshold };
|
|
22
|
+
}
|
|
23
|
+
export function defaultHitraceSidecarOptions(traceFrom, index) {
|
|
24
|
+
switch (traceFrom) {
|
|
25
|
+
case "hitrace":
|
|
26
|
+
if (index == null) {
|
|
27
|
+
throw new Error("trace-from=hitrace 需要 hitrace 索引");
|
|
28
|
+
}
|
|
29
|
+
return hitracePolicyHitraceFirst(index);
|
|
30
|
+
case "mix":
|
|
31
|
+
if (index == null) {
|
|
32
|
+
throw new Error("trace-from=mix 需要 hitrace 索引");
|
|
33
|
+
}
|
|
34
|
+
return hitracePolicyPerfFirst(index);
|
|
35
|
+
case "hiperf":
|
|
36
|
+
return hitracePolicyPerfOnly(index);
|
|
37
|
+
default: {
|
|
38
|
+
const unsupported = traceFrom;
|
|
39
|
+
throw new Error(`不支持的 trace-from: ${String(unsupported)}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function formatsToRegistryInput(formats) {
|
|
44
|
+
return formats.map((f) => f.transformFieldDict
|
|
45
|
+
? { text: f.text, transformFieldDict: f.transformFieldDict }
|
|
46
|
+
: f.text);
|
|
47
|
+
}
|
|
48
|
+
export async function decodePerfDataWithProfile(input) {
|
|
49
|
+
const formats = input.formats ?? getTraceEventFormats(input.selectedProfile);
|
|
50
|
+
const registry = input.formats
|
|
51
|
+
? buildTraceRegistry(formats)
|
|
52
|
+
: buildTraceRegistryFromProfile(input.selectedProfile);
|
|
53
|
+
const formatTexts = formatsToRegistryInput(formats);
|
|
54
|
+
const timeThreshold = resolveHitraceTimeThreshold({
|
|
55
|
+
traceFrom: input.traceFrom,
|
|
56
|
+
thresholdMs: input.traceThresholdMs,
|
|
57
|
+
onExceed: input.traceThresholdOpt,
|
|
58
|
+
});
|
|
59
|
+
let hitrace;
|
|
60
|
+
if (input.traceFrom === "hiperf") {
|
|
61
|
+
hitrace = defaultHitraceSidecarOptions("hiperf");
|
|
62
|
+
logger.info(`trace-from=hiperf hitrace 策略=perfOnly,跳过索引构建 profile=${input.selectedProfile}`);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
const hitracePath = path.join(input.workspaceDir, "snapshot_hitrace.txt");
|
|
66
|
+
logger.info(`hitrace 预处理开始: ${hitracePath}`);
|
|
67
|
+
const index = await buildHitraceIndexSnapshot({ filePath: hitracePath }, formats, { tracePrintMode: "fieldDict" });
|
|
68
|
+
const threadCount = Object.keys(index).length;
|
|
69
|
+
const recordCount = Object.values(index).reduce((n, bucket) => n + bucket.length, 0);
|
|
70
|
+
logger.info(`hitrace 索引就绪: 线程=${threadCount} 记录=${recordCount}`);
|
|
71
|
+
hitrace = applyTimeThreshold(defaultHitraceSidecarOptions(input.traceFrom, index), timeThreshold);
|
|
72
|
+
const policyLabel = input.traceFrom === "hitrace" ? "hitraceFirst" : "perfFirst";
|
|
73
|
+
const thresholdLabel = timeThreshold == null || timeThreshold === "none"
|
|
74
|
+
? ""
|
|
75
|
+
: ` timeThreshold=${timeThreshold.ms}ms onExceed=${timeThreshold.onExceed}`;
|
|
76
|
+
logger.info(`trace-from=${input.traceFrom} hitrace 策略=${policyLabel}${thresholdLabel} profile=${input.selectedProfile}`);
|
|
77
|
+
}
|
|
78
|
+
const workerCount = input.parseConcurrency;
|
|
79
|
+
const useParallel = workerCount > 1 && !traceFormatTextsNeedMainThreadDecode(formatTexts);
|
|
80
|
+
const decodeOptions = {
|
|
81
|
+
tracePrintMode: "fieldDict",
|
|
82
|
+
dropFailedSamples: input.dropFailedSamples,
|
|
83
|
+
workerCount,
|
|
84
|
+
...(useParallel ? { formatTexts } : {}),
|
|
85
|
+
hitrace,
|
|
86
|
+
};
|
|
87
|
+
const result = decodePerfRawData(input.perfData, registry, decodeOptions);
|
|
88
|
+
return result instanceof Promise ? await result : result;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=perf_decode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf_decode.js","sourceRoot":"","sources":["../../../src/lib/perf_decode.ts"],"names":[],"mappings":"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"}
|