@memlab/cli 1.0.36 → 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/dist/commands/MemLabRunCommand.d.ts.map +1 -1
- package/dist/commands/MemLabRunCommand.js +2 -0
- package/dist/commands/heap/CheckLeakCommand.d.ts.map +1 -1
- package/dist/commands/heap/CheckLeakCommand.js +2 -0
- package/dist/commands/heap/DiffLeakCommand.d.ts.map +1 -1
- package/dist/commands/heap/DiffLeakCommand.js +2 -0
- package/dist/commands/heap/GetRetainerTraceCommand.d.ts.map +1 -1
- package/dist/commands/heap/GetRetainerTraceCommand.js +2 -0
- package/dist/commands/heap/HeapAnalysisCommand.d.ts.map +1 -1
- package/dist/commands/heap/HeapAnalysisCommand.js +5 -1
- package/dist/commands/heap/interactive/InteractiveHeapCommand.d.ts.map +1 -1
- package/dist/commands/heap/interactive/InteractiveHeapCommand.js +6 -1
- package/dist/commands/heap/interactive/InteractiveHeapExploreCommand.d.ts.map +1 -1
- package/dist/commands/heap/interactive/InteractiveHeapExploreCommand.js +2 -0
- package/dist/options/heap/HeapParserDictFastStoreSizeOption.d.ts +19 -0
- package/dist/options/heap/HeapParserDictFastStoreSizeOption.d.ts.map +1 -0
- package/dist/options/heap/HeapParserDictFastStoreSizeOption.js +54 -0
- package/dist/options/lib/OptionConstant.d.ts +2 -0
- package/dist/options/lib/OptionConstant.d.ts.map +1 -1
- package/dist/options/lib/OptionConstant.js +1 -0
- package/package.json +5 -5
|
@@ -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;
|
|
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;
|
|
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;
|
|
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;
|
|
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;
|
|
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 [
|
|
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;
|
|
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 [
|
|
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;
|
|
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;
|
|
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.
|
|
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.
|
|
30
|
-
"@memlab/core": "^1.1.
|
|
31
|
-
"@memlab/e2e": "^1.0.
|
|
32
|
-
"@memlab/heap-analysis": "^1.0.
|
|
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",
|