@memlab/cli 1.0.37 → 1.0.38

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/bin/memlab.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S node --expose-gc --max-old-space-size=4096
1
+ #!/usr/bin/env node --expose-gc --max-old-space-size=4096
2
2
 
3
3
  /**
4
4
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -1 +1 @@
1
- {"version":3,"file":"MemLabRunCommand.d.ts","sourceRoot":"","sources":["../../src/commands/MemLabRunCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAKtB,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAe5D,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,oBAAoB,EAAE;IAQrC,gBAAgB,IAAI,WAAW,EAAE;IAQjC,UAAU,IAAI,UAAU,EAAE;IAI1B,kBAAkB,IAAI,UAAU,EAAE;IAclC,WAAW,IAAI,eAAe;IAIxB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAU9C"}
1
+ {"version":3,"file":"MemLabRunCommand.d.ts","sourceRoot":"","sources":["../../src/commands/MemLabRunCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAKtB,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAgB5D,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,oBAAoB,EAAE;IAQrC,gBAAgB,IAAI,WAAW,EAAE;IAQjC,UAAU,IAAI,UAAU,EAAE;IAI1B,kBAAkB,IAAI,UAAU,EAAE;IAelC,WAAW,IAAI,eAAe;IAIxB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAU9C"}
@@ -61,6 +61,7 @@ const TargetFileOption_1 = __importDefault(require("../options/heap/TargetFileOp
61
61
  const FinalFileOption_1 = __importDefault(require("../options/heap/FinalFileOption"));
62
62
  const SnapshotDirectoryOption_1 = __importDefault(require("../options/heap/SnapshotDirectoryOption"));
63
63
  const JSEngineOption_1 = __importDefault(require("../options/heap/JSEngineOption"));
64
+ const HeapParserDictFastStoreSizeOption_1 = __importDefault(require("../options/heap/HeapParserDictFastStoreSizeOption"));
64
65
  class MemLabRunCommand extends BaseCommand_1.default {
65
66
  getCommandName() {
66
67
  return 'run';
@@ -96,6 +97,7 @@ class MemLabRunCommand extends BaseCommand_1.default {
96
97
  new FinalFileOption_1.default(),
97
98
  new SnapshotDirectoryOption_1.default(),
98
99
  new JSEngineOption_1.default(),
100
+ new HeapParserDictFastStoreSizeOption_1.default(),
99
101
  ];
100
102
  }
101
103
  getCategory() {
@@ -1 +1 @@
1
- {"version":3,"file":"CheckLeakCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/heap/CheckLeakCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAEtB,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAqB/D,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,0BAA0B,CAAS;IAE3C,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAOlE,SAAS,CAAC,iCAAiC,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;gBAM1D,OAAO,GAAE,uBAA4B;IAKjD,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,oBAAoB,EAAE;IAgCrC,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAqBzB,WAAW,IAAI,eAAe;IAI9B,gBAAgB,IAAI,WAAW,EAAE;IAIjC,UAAU,IAAI,UAAU,EAAE;IAoBpB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAoB9C"}
1
+ {"version":3,"file":"CheckLeakCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/heap/CheckLeakCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAEtB,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAsB/D,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,0BAA0B,CAAS;IAE3C,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAOlE,SAAS,CAAC,iCAAiC,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;gBAM1D,OAAO,GAAE,uBAA4B;IAKjD,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,oBAAoB,EAAE;IAgCrC,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAqBzB,WAAW,IAAI,eAAe;IAI9B,gBAAgB,IAAI,WAAW,EAAE;IAIjC,UAAU,IAAI,UAAU,EAAE;IAqBpB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAoB9C"}
@@ -55,6 +55,7 @@ const MLClusteringMaxDFOption_1 = __importDefault(require("../../options/MLClust
55
55
  const CleanupSnapshotOption_1 = __importDefault(require("../../options/heap/CleanupSnapshotOption"));
56
56
  const SetWorkingDirectoryOption_1 = __importDefault(require("../../options/SetWorkingDirectoryOption"));
57
57
  const OptionConstant_1 = __importDefault(require("../../options/lib/OptionConstant"));
58
+ const HeapParserDictFastStoreSizeOption_1 = __importDefault(require("../../options/heap/HeapParserDictFastStoreSizeOption"));
58
59
  class CheckLeakCommand extends BaseCommand_1.default {
59
60
  useDefaultMLClusteringSetting(cliArgs) {
60
61
  if (!MLClusteringOption_1.default.hasOptionSet(cliArgs)) {
@@ -148,6 +149,7 @@ or option 2 mentioned above).
148
149
  new MLClusteringMaxDFOption_1.default(),
149
150
  new CleanupSnapshotOption_1.default(),
150
151
  new SetWorkingDirectoryOption_1.default(),
152
+ new HeapParserDictFastStoreSizeOption_1.default(),
151
153
  ];
152
154
  }
153
155
  run(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"DiffLeakCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/heap/DiffLeakCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACzC,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAGhE,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAmB/D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,0BAA0B,CAAS;IAE3C,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAOlE,SAAS,CAAC,iCAAiC,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;gBAM1D,OAAO,GAAE,uBAA4B;IAKjD,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,gBAAgB,IAAI,WAAW,EAAE;IAIjC,UAAU,IAAI,UAAU,EAAE;IAoB1B,SAAS,CAAC,iCAAiC,IAAI,KAAK;IAYpD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe;IAqB3D,OAAO,CAAC,eAAe;IAejB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAc9C"}
1
+ {"version":3,"file":"DiffLeakCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/heap/DiffLeakCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACzC,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAGhE,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAoB/D,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,0BAA0B,CAAS;IAE3C,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAOlE,SAAS,CAAC,iCAAiC,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;gBAM1D,OAAO,GAAE,uBAA4B;IAKjD,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,gBAAgB,IAAI,WAAW,EAAE;IAIjC,UAAU,IAAI,UAAU,EAAE;IAqB1B,SAAS,CAAC,iCAAiC,IAAI,KAAK;IAYpD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe;IAqB3D,OAAO,CAAC,eAAe;IAejB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAc9C"}
@@ -54,6 +54,7 @@ const SetMaxClusterSampleSizeOption_1 = __importDefault(require("../../options/S
54
54
  const SetTraceContainsFilterOption_1 = __importDefault(require("../../options/heap/SetTraceContainsFilterOption"));
55
55
  const SetControlSnapshotOption_1 = __importDefault(require("../../options/experiment/SetControlSnapshotOption"));
56
56
  const SetTreatmentSnapshotOption_1 = __importDefault(require("../../options/experiment/SetTreatmentSnapshotOption"));
57
+ const HeapParserDictFastStoreSizeOption_1 = __importDefault(require("../../options/heap/HeapParserDictFastStoreSizeOption"));
57
58
  class CheckLeakCommand extends BaseCommand_1.default {
58
59
  useDefaultMLClusteringSetting(cliArgs) {
59
60
  if (!MLClusteringOption_1.default.hasOptionSet(cliArgs)) {
@@ -101,6 +102,7 @@ class CheckLeakCommand extends BaseCommand_1.default {
101
102
  new MLClusteringMaxDFOption_1.default(),
102
103
  new SetMaxClusterSampleSizeOption_1.default(),
103
104
  new SetTraceContainsFilterOption_1.default(),
105
+ new HeapParserDictFastStoreSizeOption_1.default(),
104
106
  ];
105
107
  }
106
108
  showWorkingDirErrorMessageAndHalt() {
@@ -1 +1 @@
1
- {"version":3,"file":"GetRetainerTraceCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/heap/GetRetainerTraceCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,oBAAoB,EAAW,MAAM,cAAc,CAAC;AAG7E,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAkB,MAAM,cAAc,CAAC;AAYzD,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,WAAW;IAC9D,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,WAAW,IAAI,oBAAoB,EAAE;IAQrC,UAAU,IAAI,UAAU,EAAE;IASpB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAO9C"}
1
+ {"version":3,"file":"GetRetainerTraceCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/heap/GetRetainerTraceCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,oBAAoB,EAAW,MAAM,cAAc,CAAC;AAG7E,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAkB,MAAM,cAAc,CAAC;AAazD,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,WAAW;IAC9D,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,WAAW,IAAI,oBAAoB,EAAE;IAQrC,UAAU,IAAI,UAAU,EAAE;IAUpB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAO9C"}
@@ -52,6 +52,7 @@ const JSEngineOption_1 = __importDefault(require("../../options/heap/JSEngineOpt
52
52
  const HeapNodeIdOption_1 = __importDefault(require("../../options/heap/HeapNodeIdOption"));
53
53
  const SnapshotDirectoryOption_1 = __importDefault(require("../../options/heap/SnapshotDirectoryOption"));
54
54
  const core_2 = require("@memlab/core");
55
+ const HeapParserDictFastStoreSizeOption_1 = __importDefault(require("../../options/heap/HeapParserDictFastStoreSizeOption"));
55
56
  function calculateRetainerTrace() {
56
57
  return __awaiter(this, void 0, void 0, function* () {
57
58
  const snapshotPath = core_1.utils.getSingleSnapshotFileForAnalysis();
@@ -81,6 +82,7 @@ class GetRetainerTraceCommand extends BaseCommand_1.default {
81
82
  new SnapshotDirectoryOption_1.default(),
82
83
  new JSEngineOption_1.default(),
83
84
  new HeapNodeIdOption_1.default().required(),
85
+ new HeapParserDictFastStoreSizeOption_1.default(),
84
86
  ];
85
87
  }
86
88
  run(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"HeapAnalysisCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/heap/HeapAnalysisCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAG/E,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAS/D,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,gBAAgB,IAAI,WAAW,EAAE;IAIjC,UAAU,IAAI,UAAU,EAAE;IAI1B,cAAc,IAAI,WAAW,EAAE;IAU/B,WAAW,IAAI,oBAAoB,EAAE;YAIvB,mBAAmB;IAwB3B,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAc9C"}
1
+ {"version":3,"file":"HeapAnalysisCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/heap/HeapAnalysisCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAG/E,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAU/D,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,gBAAgB,IAAI,WAAW,EAAE;IAIjC,UAAU,IAAI,UAAU,EAAE;IAO1B,cAAc,IAAI,WAAW,EAAE;IAU/B,WAAW,IAAI,oBAAoB,EAAE;YAIvB,mBAAmB;IAwB3B,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAc9C"}
@@ -51,6 +51,7 @@ const HeapAnalysisSubCommandWrapper_1 = __importDefault(require("./HeapAnalysisS
51
51
  const HelperCommand_1 = __importDefault(require("../helper/HelperCommand"));
52
52
  const InitDirectoryCommand_1 = __importDefault(require("../InitDirectoryCommand"));
53
53
  const HeapAnalysisPluginOption_1 = __importDefault(require("../../options/heap/HeapAnalysisPluginOption"));
54
+ const HeapParserDictFastStoreSizeOption_1 = __importDefault(require("../../options/heap/HeapParserDictFastStoreSizeOption"));
54
55
  class RunHeapAnalysisCommand extends BaseCommand_1.default {
55
56
  getCommandName() {
56
57
  return 'analyze';
@@ -65,7 +66,10 @@ class RunHeapAnalysisCommand extends BaseCommand_1.default {
65
66
  return [new InitDirectoryCommand_1.default()];
66
67
  }
67
68
  getOptions() {
68
- return [new HeapAnalysisPluginOption_1.default()];
69
+ return [
70
+ new HeapAnalysisPluginOption_1.default(),
71
+ new HeapParserDictFastStoreSizeOption_1.default(),
72
+ ];
69
73
  }
70
74
  getSubCommands() {
71
75
  const analyses = [...heap_analysis_1.heapAnalysisLoader.loadAllAnalysis().values()];
@@ -1 +1 @@
1
- {"version":3,"file":"InteractiveHeapCommand.d.ts","sourceRoot":"","sources":["../../../../src/commands/heap/interactive/InteractiveHeapCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,oBAAoB,EAGrB,MAAM,cAAc,CAAC;AAMtB,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAC,UAAU,EAAsB,MAAM,cAAc,CAAC;AAQ7D,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,WAAW,IAAI,oBAAoB,EAAE;IAIrC,UAAU,IAAI,UAAU,EAAE;IAI1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,mBAAmB;IAWrB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAW9C"}
1
+ {"version":3,"file":"InteractiveHeapCommand.d.ts","sourceRoot":"","sources":["../../../../src/commands/heap/interactive/InteractiveHeapCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EACV,oBAAoB,EAGrB,MAAM,cAAc,CAAC;AAMtB,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAC,UAAU,EAAsB,MAAM,cAAc,CAAC;AAS7D,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,WAAW;IAC7D,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,WAAW,IAAI,oBAAoB,EAAE;IAIrC,UAAU,IAAI,UAAU,EAAE;IAQ1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,mBAAmB;IAWrB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAW9C"}
@@ -57,6 +57,7 @@ const core_3 = require("@memlab/core");
57
57
  const heap_analysis_1 = require("@memlab/heap-analysis");
58
58
  const Dispatcher_1 = require("../../../Dispatcher");
59
59
  const InteractiveCommandLoader_1 = __importDefault(require("./InteractiveCommandLoader"));
60
+ const HeapParserDictFastStoreSizeOption_1 = __importDefault(require("../../../options/heap/HeapParserDictFastStoreSizeOption"));
60
61
  class InteractiveHeapCommand extends BaseCommand_1.default {
61
62
  constructor() {
62
63
  super(...arguments);
@@ -75,7 +76,11 @@ class InteractiveHeapCommand extends BaseCommand_1.default {
75
76
  return ['--snapshot <HEAP_SNAPSHOT_FILE>'];
76
77
  }
77
78
  getOptions() {
78
- return [new SnapshotFileOption_1.default(), new JSEngineOption_1.default()];
79
+ return [
80
+ new SnapshotFileOption_1.default(),
81
+ new JSEngineOption_1.default(),
82
+ new HeapParserDictFastStoreSizeOption_1.default(),
83
+ ];
79
84
  }
80
85
  printPromptInfo() {
81
86
  core_2.info.topLevel(`Heap Snapshot Loaded: ${chalk_1.default.grey(heap_analysis_1.heapConfig.currentHeapFile)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"InteractiveHeapExploreCommand.d.ts","sourceRoot":"","sources":["../../../../src/commands/heap/interactive/InteractiveHeapExploreCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,oBAAoB,EAGrB,MAAM,cAAc,CAAC;AAOtB,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAQlE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,WAAW;IACjE,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,WAAW,IAAI,oBAAoB,EAAE;IAIrC,UAAU,IAAI,UAAU,EAAE;YAWZ,OAAO;YAgBP,eAAe;YASf,gBAAgB;IAyB9B,OAAO,CAAC,+BAA+B;YAiBzB,YAAY;IAyBpB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAU9C"}
1
+ {"version":3,"file":"InteractiveHeapExploreCommand.d.ts","sourceRoot":"","sources":["../../../../src/commands/heap/interactive/InteractiveHeapExploreCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,oBAAoB,EAGrB,MAAM,cAAc,CAAC;AAOtB,OAAO,WAAW,EAAE,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AASlE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,WAAW;IACjE,cAAc,IAAI,MAAM;IAIxB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,eAAe;IAI9B,WAAW,IAAI,oBAAoB,EAAE;IAIrC,UAAU,IAAI,UAAU,EAAE;YAYZ,OAAO;YAgBP,eAAe;YASf,gBAAgB;IAyB9B,OAAO,CAAC,+BAA+B;YAiBzB,YAAY;IAyBpB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAU9C"}
@@ -54,6 +54,7 @@ const CliScreen_1 = __importDefault(require("./ui-components/CliScreen"));
54
54
  const HeapNodeIdOption_1 = __importDefault(require("../../../options/heap/HeapNodeIdOption"));
55
55
  const MLClusteringOption_1 = __importDefault(require("../../../options/MLClusteringOption"));
56
56
  const SetWorkingDirectoryOption_1 = __importDefault(require("../../../options/SetWorkingDirectoryOption"));
57
+ const HeapParserDictFastStoreSizeOption_1 = __importDefault(require("../../../options/heap/HeapParserDictFastStoreSizeOption"));
57
58
  class InteractiveHeapViewCommand extends BaseCommand_1.default {
58
59
  getCommandName() {
59
60
  return 'view-heap';
@@ -74,6 +75,7 @@ class InteractiveHeapViewCommand extends BaseCommand_1.default {
74
75
  new HeapNodeIdOption_1.default(),
75
76
  new MLClusteringOption_1.default(),
76
77
  new SetWorkingDirectoryOption_1.default(),
78
+ new HeapParserDictFastStoreSizeOption_1.default(),
77
79
  ];
78
80
  }
79
81
  // get the heap snapshot to view
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @oncall web_perf_infra
9
+ */
10
+ import type { ParsedArgs } from 'minimist';
11
+ import type { MemLabConfig } from '@memlab/core';
12
+ import { BaseOption } from '@memlab/core';
13
+ export default class HeapParserDictFastStoreSizeOption extends BaseOption {
14
+ getOptionName(): string;
15
+ getDescription(): string;
16
+ getExampleValues(): string[];
17
+ parse(config: MemLabConfig, args: ParsedArgs): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=HeapParserDictFastStoreSizeOption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeapParserDictFastStoreSizeOption.d.ts","sourceRoot":"","sources":["../../../src/options/heap/HeapParserDictFastStoreSizeOption.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAQ,MAAM,cAAc,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,iCAAkC,SAAQ,UAAU;IACvE,aAAa,IAAI,MAAM;IAIvB,cAAc,IAAI,MAAM;IASxB,gBAAgB,IAAI,MAAM,EAAE;IAItB,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAcnE"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * @format
9
+ * @oncall web_perf_infra
10
+ */
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ const core_1 = require("@memlab/core");
25
+ const OptionConstant_1 = __importDefault(require("../lib/OptionConstant"));
26
+ class HeapParserDictFastStoreSizeOption extends core_1.BaseOption {
27
+ getOptionName() {
28
+ return OptionConstant_1.default.optionNames.HEAP_PARSER_DICT_FAST_STORE_SIZE;
29
+ }
30
+ getDescription() {
31
+ return ('the size threshold for swtiching from fast store to slower store in ' +
32
+ 'the heap snapshot parser. The default value is 5,000,000. If you get ' +
33
+ 'the `FATAL ERROR: invalid table size Allocation failed - JavaScript ' +
34
+ 'heap out of memory` error, try to decrease the threshold here');
35
+ }
36
+ getExampleValues() {
37
+ return ['500000', '1000000'];
38
+ }
39
+ parse(config, args) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ if (this.getOptionName() in args) {
42
+ const sizeThreshold = parseInt(args[this.getOptionName()], 10);
43
+ if (!isNaN(sizeThreshold)) {
44
+ if (sizeThreshold <= 0 || sizeThreshold > 10000000) {
45
+ core_1.utils.haltOrThrow(`Invalid value for ${this.getOptionName()}: ${sizeThreshold}. ` +
46
+ 'Valid range is [1, 10_000_000]');
47
+ }
48
+ config.heapParserDictFastStoreSize = sizeThreshold;
49
+ }
50
+ }
51
+ });
52
+ }
53
+ }
54
+ exports.default = HeapParserDictFastStoreSizeOption;
@@ -25,6 +25,7 @@ declare const optionConstants: {
25
25
  FULL: string;
26
26
  HEADFUL: string;
27
27
  HEAP_ANALYSIS_PLUGIN_FILE: string;
28
+ HEAP_PARSER_DICT_FAST_STORE_SIZE: string;
28
29
  HELP: string;
29
30
  IGNORE_LEAK_CLUSTER_SIZE_BELOW: string;
30
31
  INTERACTION: string;
@@ -89,6 +90,7 @@ declare const _default: {
89
90
  FULL: string;
90
91
  HEADFUL: string;
91
92
  HEAP_ANALYSIS_PLUGIN_FILE: string;
93
+ HEAP_PARSER_DICT_FAST_STORE_SIZE: string;
92
94
  HELP: string;
93
95
  IGNORE_LEAK_CLUSTER_SIZE_BELOW: string;
94
96
  INTERACTION: string;
@@ -1 +1 @@
1
- {"version":3,"file":"OptionConstant.d.ts","sourceRoot":"","sources":["../../../src/options/lib/OptionConstant.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmEH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGpB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACrD,wBAIE"}
1
+ {"version":3,"file":"OptionConstant.d.ts","sourceRoot":"","sources":["../../../src/options/lib/OptionConstant.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoEH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGpB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACrD,wBAIE"}
@@ -27,6 +27,7 @@ const optionNames = {
27
27
  FULL: 'full',
28
28
  HEADFUL: 'headful',
29
29
  HEAP_ANALYSIS_PLUGIN_FILE: 'analysis-plugin',
30
+ HEAP_PARSER_DICT_FAST_STORE_SIZE: 'heap-parser-dict-fast-store-size',
30
31
  HELP: 'help',
31
32
  IGNORE_LEAK_CLUSTER_SIZE_BELOW: 'ignore-leak-cluster-size-below',
32
33
  INTERACTION: 'interaction',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memlab/cli",
3
- "version": "1.0.37",
3
+ "version": "1.0.38",
4
4
  "license": "MIT",
5
5
  "description": "command line interface for memlab",
6
6
  "author": "Liang Gong <lgong@fb.com>",
@@ -26,10 +26,10 @@
26
26
  "access": "public"
27
27
  },
28
28
  "dependencies": {
29
- "@memlab/api": "^1.0.34",
30
- "@memlab/core": "^1.1.35",
31
- "@memlab/e2e": "^1.0.35",
32
- "@memlab/heap-analysis": "^1.0.32",
29
+ "@memlab/api": "^1.0.35",
30
+ "@memlab/core": "^1.1.36",
31
+ "@memlab/e2e": "^1.0.36",
32
+ "@memlab/heap-analysis": "^1.0.33",
33
33
  "ansi": "^0.3.1",
34
34
  "babar": "^0.2.0",
35
35
  "blessed": "^0.1.81",