snapshot-checker 0.2.2 → 0.4.0

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 (93) hide show
  1. package/README.md +103 -343
  2. package/dist/commands/forkall.d.ts +4 -12
  3. package/dist/commands/forkall.d.ts.map +1 -1
  4. package/dist/commands/forkall.js +46 -23
  5. package/dist/commands/forkall.js.map +1 -1
  6. package/dist/commands/report.d.ts +9 -0
  7. package/dist/commands/report.d.ts.map +1 -1
  8. package/dist/commands/report.js +153 -32
  9. package/dist/commands/report.js.map +1 -1
  10. package/dist/demos/context-demo.d.ts +10 -0
  11. package/dist/demos/context-demo.d.ts.map +1 -0
  12. package/dist/{commands/context_demo.js → demos/context-demo.js} +15 -18
  13. package/dist/demos/context-demo.js.map +1 -0
  14. package/dist/{commands → demos}/mac-example.d.ts +1 -3
  15. package/dist/demos/mac-example.d.ts.map +1 -0
  16. package/dist/{commands → demos}/mac-example.js +2 -4
  17. package/dist/demos/mac-example.js.map +1 -0
  18. package/dist/{commands/timeout_demo.d.ts → demos/timeout-demo.d.ts} +2 -2
  19. package/dist/demos/timeout-demo.d.ts.map +1 -0
  20. package/dist/demos/timeout-demo.js +35 -0
  21. package/dist/demos/timeout-demo.js.map +1 -0
  22. package/dist/src/cli.js +209 -169
  23. package/dist/src/cli.js.map +1 -1
  24. package/dist/src/executor.d.ts +1 -3
  25. package/dist/src/executor.d.ts.map +1 -1
  26. package/dist/src/executor.js +1 -3
  27. package/dist/src/executor.js.map +1 -1
  28. package/dist/src/groupSpecs.d.ts +1 -4
  29. package/dist/src/groupSpecs.d.ts.map +1 -1
  30. package/dist/src/groupSpecs.js.map +1 -1
  31. package/dist/src/index.d.ts +1 -1
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +1 -1
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/lib/{common_groups.d.ts → presets.d.ts} +24 -2
  36. package/dist/src/lib/presets.d.ts.map +1 -0
  37. package/dist/src/lib/{common_groups.js → presets.js} +73 -24
  38. package/dist/src/lib/presets.js.map +1 -0
  39. package/dist/src/lib/{programmatic.d.ts → scenario.d.ts} +9 -11
  40. package/dist/src/lib/scenario.d.ts.map +1 -0
  41. package/dist/src/lib/{programmatic.js → scenario.js} +6 -10
  42. package/dist/src/lib/scenario.js.map +1 -0
  43. package/dist/src/logger.d.ts +23 -0
  44. package/dist/src/logger.d.ts.map +1 -0
  45. package/dist/src/logger.js +92 -0
  46. package/dist/src/logger.js.map +1 -0
  47. package/dist/src/runCommand.d.ts +27 -35
  48. package/dist/src/runCommand.d.ts.map +1 -1
  49. package/dist/src/runCommand.js +81 -70
  50. package/dist/src/runCommand.js.map +1 -1
  51. package/dist/src/runGroups.d.ts +6 -12
  52. package/dist/src/runGroups.d.ts.map +1 -1
  53. package/dist/src/runGroups.js +14 -19
  54. package/dist/src/runGroups.js.map +1 -1
  55. package/dist/src/runners/builtinFunctionRunner.d.ts +1 -0
  56. package/dist/src/runners/builtinFunctionRunner.d.ts.map +1 -1
  57. package/dist/src/runners/builtinFunctionRunner.js +5 -12
  58. package/dist/src/runners/builtinFunctionRunner.js.map +1 -1
  59. package/dist/src/runners/embedRunner.d.ts +1 -0
  60. package/dist/src/runners/embedRunner.d.ts.map +1 -1
  61. package/dist/src/runners/embedRunner.js +5 -1
  62. package/dist/src/runners/embedRunner.js.map +1 -1
  63. package/dist/src/runners/shellRunner.d.ts +1 -0
  64. package/dist/src/runners/shellRunner.d.ts.map +1 -1
  65. package/dist/src/runners/shellRunner.js +40 -8
  66. package/dist/src/runners/shellRunner.js.map +1 -1
  67. package/dist/src/runners/types.d.ts +9 -0
  68. package/dist/src/runners/types.d.ts.map +1 -1
  69. package/dist/src/types.d.ts +47 -77
  70. package/dist/src/types.d.ts.map +1 -1
  71. package/dist/src/types.js +37 -10
  72. package/dist/src/types.js.map +1 -1
  73. package/package.json +10 -3
  74. package/dist/commands/context_demo.d.ts +0 -18
  75. package/dist/commands/context_demo.d.ts.map +0 -1
  76. package/dist/commands/context_demo.js.map +0 -1
  77. package/dist/commands/mac-example.d.ts.map +0 -1
  78. package/dist/commands/mac-example.js.map +0 -1
  79. package/dist/commands/timeout_demo.d.ts.map +0 -1
  80. package/dist/commands/timeout_demo.js +0 -48
  81. package/dist/commands/timeout_demo.js.map +0 -1
  82. package/dist/src/lib/common_groups.d.ts.map +0 -1
  83. package/dist/src/lib/common_groups.js.map +0 -1
  84. package/dist/src/lib/foo.d.ts +0 -3
  85. package/dist/src/lib/foo.d.ts.map +0 -1
  86. package/dist/src/lib/foo.js +0 -7
  87. package/dist/src/lib/foo.js.map +0 -1
  88. package/dist/src/lib/programmatic.d.ts.map +0 -1
  89. package/dist/src/lib/programmatic.js.map +0 -1
  90. package/dist/src/lib/trace_formatter.d.ts +0 -9
  91. package/dist/src/lib/trace_formatter.d.ts.map +0 -1
  92. package/dist/src/lib/trace_formatter.js +0 -148
  93. package/dist/src/lib/trace_formatter.js.map +0 -1
@@ -1,48 +0,0 @@
1
- import { CommandKind, getCurrentPlatformKind, } from "../src/types.js";
2
- /**
3
- * 示例场景:演示内置 embed 指令 `timeout`(兼容拼写 `timieout`)。
4
- *
5
- * - 最长等待指定秒数,终端为 TTY 时按任意键可立即跳过等待。
6
- * - 详见 README「内置指令(embed)」与 `src/runCommand.ts` 实现。
7
- *
8
- * 使用方式(开发态):
9
- * npm run dev -- timeout_demo
10
- *
11
- * 使用方式(构建后):
12
- * node dist/cli.js timeout_demo
13
- *
14
- * 仅跑等待组(跳过后面的 echo):
15
- * npm run dev -- timeout_demo -g wait
16
- */
17
- const kind = getCurrentPlatformKind();
18
- export const groups = {
19
- /** 演示:最多等待 15 秒,可按键跳过 */
20
- wait: [
21
- {
22
- kind: CommandKind.Embed,
23
- description: "内置 timeout:最多 15s,按任意键可跳过",
24
- run: "timeout 15",
25
- },
26
- ],
27
- /** 可选:与 `timeout` 等价(历史拼写兼容) */
28
- waitAlias: [
29
- {
30
- kind: CommandKind.Embed,
31
- description: "内置 timieout 别名示例(5 秒)",
32
- run: "timieout 5",
33
- },
34
- ],
35
- /** 等待结束后执行一条平台命令,便于确认流程继续 */
36
- after: [
37
- {
38
- kind,
39
- description: "timeout 结束后执行",
40
- run: kind === CommandKind.Windows
41
- ? "echo timeout_demo: after wait"
42
- : 'echo "timeout_demo: after wait"',
43
- },
44
- ],
45
- };
46
- /** 默认:先长等待演示,再执行 echo;可用 `-g wait` 只跑等待 */
47
- export const defaultGroupOrder = ["wait", "after"];
48
- //# sourceMappingURL=timeout_demo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeout_demo.js","sourceRoot":"","sources":["../../commands/timeout_demo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;GAcG;AACH,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAW;IAC5B,yBAAyB;IACzB,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,WAAW,EAAE,2BAA2B;YACxC,GAAG,EAAE,YAAY;SAClB;KACF;IACD,gCAAgC;IAChC,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,WAAW,EAAE,uBAAuB;YACpC,GAAG,EAAE,YAAY;SAClB;KACF;IACD,6BAA6B;IAC7B,KAAK,EAAE;QACL;YACE,IAAI;YACJ,WAAW,EAAE,eAAe;YAC5B,GAAG,EACD,IAAI,KAAK,WAAW,CAAC,OAAO;gBAC1B,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,iCAAiC;SACxC;KACF;CACF,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"common_groups.d.ts","sourceRoot":"","sources":["../../../src/lib/common_groups.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;AAW9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAMlD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,GAAG,UAAU,EAAE,CAkDf;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6BAA6B,EAAE,MAAM,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,UAAU,EAAE,CAmBf;AAED,wBAAgB,oCAAoC,CAAC,KAAK,EAAE;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;CAC/B,GAAG,UAAU,EAAE,CA0Df;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,QAAQ,GAAG,SAAS,CAavB;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACvD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAYA;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CASA;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAgDV;AAED,KAAK,iBAAiB,GAClB;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,KAAK,CAAA;CAAE,GAClD;IAAE,aAAa,CAAC,EAAE,KAAK,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC;IACjC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GAAG,UAAU,EAAE,CA2Cf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"common_groups.js","sourceRoot":"","sources":["../../../src/lib/common_groups.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare function buildUserGreeting(user: string): string;
2
- export declare function buildTag(prefix: string): string;
3
- //# sourceMappingURL=foo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"foo.d.ts","sourceRoot":"","sources":["../../../src/lib/foo.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/C"}
@@ -1,7 +0,0 @@
1
- export function buildUserGreeting(user) {
2
- return `foo says hi to ${user}`;
3
- }
4
- export function buildTag(prefix) {
5
- return `${prefix}:from lib/foo`;
6
- }
7
- //# sourceMappingURL=foo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"foo.js","sourceRoot":"","sources":["../../../src/lib/foo.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,kBAAkB,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO,GAAG,MAAM,eAAe,CAAC;AAClC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"programmatic.d.ts","sourceRoot":"","sources":["../../../src/lib/programmatic.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,KAAK;QACJ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,GAAG,IAAI,CAAC;CACV;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAGtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,kBAAkB,EACvB,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAC5C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAcjD;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,kDAAkD;IAClD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CA2BlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"programmatic.js","sourceRoot":"","sources":["../../../src/lib/programmatic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,cAAc,EACd,cAAc,GAEf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAiBnD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAuC;IAEvC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAuB,EACvB,kBAA2C,EAAE;IAE7C,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACxB,IAAI,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;YACnC,MAAM;YACN,iBAAiB;YACjB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;QACH,IAAI,WAAW,EAAE,MAAM;YAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACrD,IAAI,WAAW,EAAE,iBAAiB;YAChC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AACvC,CAAC;AAqBD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAA6B;IAE7B,MAAM,EACJ,MAAM,EACN,iBAAiB,EACjB,KAAK,EACL,UAAU,EAAE,aAAa,EACzB,cAAc,GAAG,KAAK,EACtB,WAAW,GAAG,KAAK,EACnB,MAAM,GAAG,KAAK,EACd,iBAAiB,GAAG,KAAK,EACzB,UAAU,GACX,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GACT,aAAa;QACb,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAA0B;QACrC,WAAW;QACX,MAAM;QACN,iBAAiB;QACjB,cAAc;QACd,UAAU,EACR,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACtE,CAAC;IACF,OAAO,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { FieldDictTransformFn } from "hiperf_txt_parser";
2
- export type TraceEventFormat = {
3
- text: string;
4
- transformFieldDict?: FieldDictTransformFn;
5
- };
6
- export declare const TRACE_EVENT_FORMATS: TraceEventFormat[];
7
- export declare function getTraceEventFormats(profile?: string): TraceEventFormat[];
8
- export declare function getTraceEventFormatProfiles(): string[];
9
- //# sourceMappingURL=trace_formatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace_formatter.d.ts","sourceRoot":"","sources":["../../../src/lib/trace_formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;CAC3C,CAAC;AA+IF,eAAO,MAAM,mBAAmB,oBAA8B,CAAC;AAE/D,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAMzE;AAED,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAEtD"}
@@ -1,148 +0,0 @@
1
- const DEFAULT_TRACE_EVENT_FORMATS = [
2
- {
3
- text: `name: hmb_forkall_repord_image_failure
4
- ID: 33233
5
- format:
6
- field:unsigned short common_type; offset: 0; size:2; signed:0;
7
- field:unsigned char common_flags; offset: 2; size:1; signed:0;
8
- field:unsigned char common_preempt_count; offset: 3; size:1; signed:0;
9
- field:int common_pid; offset: 4; size:4; signed:1;
10
-
11
- field:__data_loc char[] reason; offset:8; size:4; signed:1;
12
-
13
- print fmt: "hmb_forkall_repord_image_failure: reason=%s", ((char*)((void *)((char *)REC + (REC->__data_loc_reason & 0xffff))))
14
- `,
15
- transformFieldDict: ({}) => {
16
- return { issue: "风险IPC调用" };
17
- },
18
- },
19
- {
20
- text: `name: vfs_snapshot_dump_monitor
21
- ID: 33234
22
- format:
23
- field:unsigned short common_type; offset: 0; size:2; signed:0;
24
- field:unsigned char common_flags; offset: 2; size:1; signed:0;
25
- field:unsigned char common_preempt_count; offset: 3; size:1; signed:0;
26
- field:int common_pid; offset: 4; size:4; signed:1;
27
-
28
- field:__data_loc char[] path; offset:8; size:4; signed:1;
29
- field:__data_loc char[] name; offset:12; size:4; signed:1;
30
- field:unsigned short mode; offset:16; size:2; signed:0;
31
- field:unsigned long fs; offset:24; size:8; signed:0;
32
- field:unsigned long index; offset:32; size:8; signed:0;
33
- field:unsigned long op_flag; offset:40; size:8; signed:0;
34
-
35
- print fmt: "vfs_snapshot_dump_monitor: path=%s, name=%s, mode=%06o, fs=%lx, index=%lu, op_flag=%lx", ((char*)((void *)((char *)REC + (REC->__data_loc_path & 0xffff))), ((char*)((void *)((char *)REC + (REC->__data_loc_name & 0xffff))), REC->mode, REC->fs, REC->index, REC->op_flag)
36
- `,
37
- transformFieldDict: ({ fieldDict }) => {
38
- return fieldDict;
39
- },
40
- },
41
- {
42
- text: `name: binder_transac_init_kstate_notify
43
- ID: 33232
44
- format:
45
- field:unsigned short common_type; offset: 0; size:2; signed:0;
46
- field:unsigned char common_flags; offset: 2; size:1; signed:0;
47
- field:unsigned char common_preempt_count; offset: 3; size:1; signed:0;
48
- field:int common_pid; offset: 4; size:4; signed:1;
49
-
50
- field:int caller_pid; offset:8; size:4; signed:1;
51
- field:int callee_pid; offset:12; size:4; signed:1;
52
- field:unsigned int type; offset:16; size:4; signed:0;
53
- field:unsigned int flags; offset:20; size:4; signed:0;
54
- field:unsigned int callee_level; offset:24; size:4; signed:0;
55
- field:unsigned int code; offset:28; size:4; signed:0;
56
- field:__data_loc char[] token_descriptor; offset:32; size:4; signed:1;
57
-
58
- print fmt: "transac init kstate notify: caller_pid=%d, callee_pid=%d, type=%d, flags=0x%x, callee_level=%d, code=%u, token_descriptor=%s", REC->caller_pid, REC->callee_pid, REC->type, REC->flags, REC->callee_level, REC->code, ((char*)((void *)((char *)REC + (REC->__data_loc_token_descriptor & 0xffff))))
59
- `,
60
- transformFieldDict: ({ fieldDict }) => {
61
- return fieldDict;
62
- },
63
- },
64
- ];
65
- const DEV_TRACE_EVENT_FORMATS = [
66
- {
67
- text: `name: hmb_forkall_repord_image_failure
68
- ID: 33246
69
- format:
70
- field:unsigned short common_type; offset: 0; size:2; signed:0;
71
- field:unsigned char common_flags; offset: 2; size:1; signed:0;
72
- field:unsigned char common_preempt_count; offset: 3; size:1; signed:0;
73
- field:int common_pid; offset: 4; size:4; signed:1;
74
-
75
- field:__data_loc char[] reason; offset:8; size:4; signed:1;
76
-
77
- print fmt: "hmb_forkall_repord_image_failure: reason=%s", ((char*)((void *)((char *)REC + (REC->__data_loc_reason & 0xffff))))
78
- `,
79
- transformFieldDict: ({}) => {
80
- return { issue: "风险IPC调用" };
81
- },
82
- },
83
- {
84
- text: `name: vfs_snapshot_dump_monitor
85
- ID: 33247
86
- format:
87
- field:unsigned short common_type; offset: 0; size:2; signed:0;
88
- field:unsigned char common_flags; offset: 2; size:1; signed:0;
89
- field:unsigned char common_preempt_count; offset: 3; size:1; signed:0;
90
- field:int common_pid; offset: 4; size:4; signed:1;
91
-
92
- field:__data_loc char[] path; offset:8; size:4; signed:1;
93
- field:__data_loc char[] name; offset:12; size:4; signed:1;
94
- field:unsigned short mode; offset:16; size:2; signed:0;
95
- field:unsigned long fs; offset:24; size:8; signed:0;
96
- field:unsigned long index; offset:32; size:8; signed:0;
97
- field:unsigned long op_flag; offset:40; size:8; signed:0;
98
-
99
- print fmt: "vfs_snapshot_dump_monitor: path=%s, name=%s, mode=%06o, fs=%lx, index=%lu, op_flag=%lx", ((char*)((void *)((char *)REC + (REC->__data_loc_path & 0xffff))), ((char*)((void *)((char *)REC + (REC->__data_loc_name & 0xffff))), REC->mode, REC->fs, REC->index, REC->op_flag)
100
- `,
101
- transformFieldDict: ({ fieldDict }) => {
102
- return fieldDict;
103
- },
104
- },
105
- {
106
- text: `name: binder_transac_init_kstate_notify
107
- ID: 33245
108
- format:
109
- field:unsigned short common_type; offset: 0; size:2; signed:0;
110
- field:unsigned char common_flags; offset: 2; size:1; signed:0;
111
- field:unsigned char common_preempt_count; offset: 3; size:1; signed:0;
112
- field:int common_pid; offset: 4; size:4; signed:1;
113
-
114
- field:int caller_pid; offset:8; size:4; signed:1;
115
- field:int callee_pid; offset:12; size:4; signed:1;
116
- field:unsigned int type; offset:16; size:4; signed:0;
117
- field:unsigned int flags; offset:20; size:4; signed:0;
118
- field:unsigned int callee_level; offset:24; size:4; signed:0;
119
- field:unsigned int code; offset:28; size:4; signed:0;
120
- field:__data_loc char[] token_descriptor; offset:32; size:4; signed:1;
121
-
122
- print fmt: "transac init kstate notify: caller_pid=%d, callee_pid=%d, type=%d, flags=0x%x, callee_level=%d, code=%u, token_descriptor=%s", REC->caller_pid, REC->callee_pid, REC->type, REC->flags, REC->callee_level, REC->code, ((char*)((void *)((char *)REC + (REC->__data_loc_token_descriptor & 0xffff))))
123
- `,
124
- transformFieldDict: ({ fieldDict }) => {
125
- return fieldDict;
126
- },
127
- },
128
- ];
129
- /**
130
- * 按 profile 管理多版本格式定义:
131
- * - default / v1: 当前版本
132
- * 后续新增版本时,只需扩展此映射即可。
133
- */
134
- const TRACE_EVENT_FORMATS_BY_PROFILE = {
135
- default: DEFAULT_TRACE_EVENT_FORMATS,
136
- "6.0": DEFAULT_TRACE_EVENT_FORMATS,
137
- dev: DEV_TRACE_EVENT_FORMATS,
138
- };
139
- export const TRACE_EVENT_FORMATS = DEFAULT_TRACE_EVENT_FORMATS;
140
- export function getTraceEventFormats(profile) {
141
- const normalized = (profile ?? "default").trim();
142
- return (TRACE_EVENT_FORMATS_BY_PROFILE[normalized] ??
143
- TRACE_EVENT_FORMATS_BY_PROFILE.default);
144
- }
145
- export function getTraceEventFormatProfiles() {
146
- return Object.keys(TRACE_EVENT_FORMATS_BY_PROFILE);
147
- }
148
- //# sourceMappingURL=trace_formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace_formatter.js","sourceRoot":"","sources":["../../../src/lib/trace_formatter.ts"],"names":[],"mappings":"AAOA,MAAM,2BAA2B,GAAuB;IACtD;QACE,IAAI,EAAE;;;;;;;;;;;SAWD;QACL,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE;YACzB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9B,CAAC;KACF;IACD;QACE,IAAI,EAAE;;;;;;;;;;;;;;;;SAgBD;QACL,kBAAkB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;KACF;IACD;QACE,IAAI,EAAE;;;;;;;;;;;;;;;;;OAiBH;QACH,kBAAkB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;KACF;CACF,CAAC;AAEF,MAAM,uBAAuB,GAAuB;IAClD;QACE,IAAI,EAAE;;;;;;;;;;;OAWH;QACH,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE;YACzB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9B,CAAC;KACF;IACD;QACE,IAAI,EAAE;;;;;;;;;;;;;;;;OAgBH;QACH,kBAAkB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;KACF;IACD;QACE,IAAI,EAAE;;;;;;;;;;;;;;;;;WAiBC;QACP,kBAAkB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;KACF;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,8BAA8B,GAAuC;IACzE,OAAO,EAAE,2BAA2B;IACpC,KAAK,EAAE,2BAA2B;IAClC,GAAG,EAAE,uBAAuB;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAE/D,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,UAAU,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,OAAO,CACL,8BAA8B,CAAC,UAAU,CAAC;QAC1C,8BAA8B,CAAC,OAAO,CACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;AACrD,CAAC"}