@electron-memory/monitor 0.2.5 → 0.2.6
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/index.d.mts +13 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +47 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +47 -4
- package/dist/index.mjs.map +1 -1
- package/dist/ui/assets/index-DnuSyhKD.js +9 -0
- package/dist/ui/assets/index-DrFTVGFf.css +1 -0
- package/dist/ui/index.html +2 -2
- package/package.json +1 -1
- package/dist/ui/assets/index-BTI73y9e.css +0 -1
- package/dist/ui/assets/index-mExwYeTZ.js +0 -9
package/dist/index.d.mts
CHANGED
|
@@ -151,6 +151,19 @@ interface AnomalyEvent {
|
|
|
151
151
|
value?: number;
|
|
152
152
|
/** 阈值 */
|
|
153
153
|
threshold?: number;
|
|
154
|
+
/** 排查建议列表 */
|
|
155
|
+
suggestions?: string[];
|
|
156
|
+
/** 可执行的快捷操作 */
|
|
157
|
+
actions?: AnomalyAction[];
|
|
158
|
+
}
|
|
159
|
+
/** 告警可附带的快捷操作 */
|
|
160
|
+
interface AnomalyAction {
|
|
161
|
+
/** 操作 ID */
|
|
162
|
+
id: string;
|
|
163
|
+
/** 按钮文案 */
|
|
164
|
+
label: string;
|
|
165
|
+
/** 操作类型 */
|
|
166
|
+
type: 'heap-snapshot' | 'trigger-gc' | 'open-devtools';
|
|
154
167
|
}
|
|
155
168
|
/** 异常检测规则 */
|
|
156
169
|
interface AnomalyRule {
|
package/dist/index.d.ts
CHANGED
|
@@ -151,6 +151,19 @@ interface AnomalyEvent {
|
|
|
151
151
|
value?: number;
|
|
152
152
|
/** 阈值 */
|
|
153
153
|
threshold?: number;
|
|
154
|
+
/** 排查建议列表 */
|
|
155
|
+
suggestions?: string[];
|
|
156
|
+
/** 可执行的快捷操作 */
|
|
157
|
+
actions?: AnomalyAction[];
|
|
158
|
+
}
|
|
159
|
+
/** 告警可附带的快捷操作 */
|
|
160
|
+
interface AnomalyAction {
|
|
161
|
+
/** 操作 ID */
|
|
162
|
+
id: string;
|
|
163
|
+
/** 按钮文案 */
|
|
164
|
+
label: string;
|
|
165
|
+
/** 操作类型 */
|
|
166
|
+
type: 'heap-snapshot' | 'trigger-gc' | 'open-devtools';
|
|
154
167
|
}
|
|
155
168
|
/** 异常检测规则 */
|
|
156
169
|
interface AnomalyRule {
|
package/dist/index.js
CHANGED
|
@@ -635,7 +635,18 @@ var AnomalyDetector = class extends import_events2.EventEmitter {
|
|
|
635
635
|
title: "\u603B\u5185\u5B58\u6301\u7EED\u589E\u957F",
|
|
636
636
|
description: `\u5185\u5B58\u4EE5 ${slope.toFixed(2)} KB/s \u7684\u901F\u7387\u6301\u7EED\u589E\u957F (R\xB2=${r2.toFixed(3)})`,
|
|
637
637
|
value: slope,
|
|
638
|
-
threshold: 10
|
|
638
|
+
threshold: 10,
|
|
639
|
+
suggestions: [
|
|
640
|
+
"\u5BFC\u51FA\u5806\u5FEB\u7167 (Heap Snapshot)\uFF0C\u4F7F\u7528 Chrome DevTools \u7684 Memory \u9762\u677F\u52A0\u8F7D\u5206\u6790",
|
|
641
|
+
'\u5BF9\u6BD4\u4E24\u4E2A\u65F6\u95F4\u70B9\u7684\u5806\u5FEB\u7167\uFF0C\u67E5\u627E "Allocated between snapshots" \u4E2D\u65B0\u589E\u7684\u5927\u5BF9\u8C61',
|
|
642
|
+
"\u68C0\u67E5\u4E3B\u8FDB\u7A0B\u4E2D\u662F\u5426\u6709\u672A\u6E05\u7406\u7684 setInterval / setTimeout \u56DE\u8C03",
|
|
643
|
+
"\u68C0\u67E5 ipcMain.on \u662F\u5426\u5B58\u5728\u91CD\u590D\u6CE8\u518C\uFF08\u6BCF\u6B21\u7A97\u53E3\u521B\u5EFA\u90FD\u6CE8\u518C\u4F46\u4E0D\u79FB\u9664\uFF09",
|
|
644
|
+
"\u68C0\u67E5\u662F\u5426\u6709\u6301\u7EED\u589E\u957F\u7684 Map / Set / Array \u7F13\u5B58\u672A\u8BBE\u7F6E\u4E0A\u9650\u6216\u8FC7\u671F\u7B56\u7565"
|
|
645
|
+
],
|
|
646
|
+
actions: [
|
|
647
|
+
{ id: "take-heap-snapshot", label: "\u{1F4F8} \u5BFC\u51FA\u5806\u5FEB\u7167", type: "heap-snapshot" },
|
|
648
|
+
{ id: "trigger-gc", label: "\u{1F5D1}\uFE0F \u89E6\u53D1 GC", type: "trigger-gc" }
|
|
649
|
+
]
|
|
639
650
|
};
|
|
640
651
|
}
|
|
641
652
|
return null;
|
|
@@ -660,7 +671,18 @@ var AnomalyDetector = class extends import_events2.EventEmitter {
|
|
|
660
671
|
title: "\u5185\u5B58\u7A81\u589E",
|
|
661
672
|
description: `\u603B\u5185\u5B58\u4ECE ${Math.round(avg)} KB \u7A81\u589E\u5230 ${current} KB (+${((current - avg) / avg * 100).toFixed(1)}%)`,
|
|
662
673
|
value: current,
|
|
663
|
-
threshold: avg * 1.5
|
|
674
|
+
threshold: avg * 1.5,
|
|
675
|
+
suggestions: [
|
|
676
|
+
"\u7ACB\u5373\u5BFC\u51FA\u5806\u5FEB\u7167\uFF0C\u4E0E\u7A81\u589E\u524D\u7684\u5FEB\u7167\u5BF9\u6BD4\uFF0C\u5B9A\u4F4D\u65B0\u589E\u7684\u5927\u5BF9\u8C61",
|
|
677
|
+
"\u68C0\u67E5\u662F\u5426\u6709\u5927\u91CF\u65B0\u7A97\u53E3/\u6807\u7B7E\u9875\u540C\u65F6\u521B\u5EFA",
|
|
678
|
+
"\u68C0\u67E5\u662F\u5426\u52A0\u8F7D\u4E86\u5927\u6587\u4EF6\u6216\u5927\u91CF\u56FE\u7247\u8D44\u6E90",
|
|
679
|
+
"\u68C0\u67E5 IPC \u901A\u4FE1\u662F\u5426\u4F20\u8F93\u4E86\u8D85\u5927\u6570\u636E\uFF08\u5EFA\u8BAE\u5206\u7247\u6216\u4F7F\u7528 MessagePort\uFF09",
|
|
680
|
+
"\u89E6\u53D1 GC \u540E\u89C2\u5BDF\u5185\u5B58\u662F\u5426\u56DE\u843D\uFF0C\u5982\u4E0D\u56DE\u843D\u5219\u4E3A\u771F\u5B9E\u6CC4\u6F0F"
|
|
681
|
+
],
|
|
682
|
+
actions: [
|
|
683
|
+
{ id: "take-heap-snapshot", label: "\u{1F4F8} \u5BFC\u51FA\u5806\u5FEB\u7167", type: "heap-snapshot" },
|
|
684
|
+
{ id: "trigger-gc", label: "\u{1F5D1}\uFE0F \u89E6\u53D1 GC", type: "trigger-gc" }
|
|
685
|
+
]
|
|
664
686
|
};
|
|
665
687
|
}
|
|
666
688
|
return null;
|
|
@@ -682,7 +704,17 @@ var AnomalyDetector = class extends import_events2.EventEmitter {
|
|
|
682
704
|
title: `\u68C0\u6D4B\u5230 ${detached} \u4E2A\u5206\u79BB\u7684 V8 \u4E0A\u4E0B\u6587`,
|
|
683
705
|
description: "\u5B58\u5728\u672A\u6B63\u786E\u9500\u6BC1\u7684 BrowserWindow \u6216 WebContents\uFF0C\u53EF\u80FD\u5BFC\u81F4\u5185\u5B58\u6CC4\u6F0F",
|
|
684
706
|
value: detached,
|
|
685
|
-
threshold: 0
|
|
707
|
+
threshold: 0,
|
|
708
|
+
suggestions: [
|
|
709
|
+
'\u5728 Chrome DevTools Memory \u9762\u677F\u5BFC\u51FA\u5806\u5FEB\u7167\uFF0C\u641C\u7D22 "Detached" \u67E5\u627E\u6B8B\u7559\u7684 DOM \u6811\u548C JS \u4E0A\u4E0B\u6587',
|
|
710
|
+
"\u68C0\u67E5\u6240\u6709 BrowserWindow \u662F\u5426\u5728\u5173\u95ED\u65F6\u8C03\u7528\u4E86 destroy()\uFF08\u800C\u975E\u4EC5 close()\uFF09",
|
|
711
|
+
'\u68C0\u67E5 BrowserWindow.on("closed", ...) \u56DE\u8C03\u4E2D\u662F\u5426\u5C06\u7A97\u53E3\u5F15\u7528\u7F6E\u4E3A null',
|
|
712
|
+
"\u68C0\u67E5\u662F\u5426\u6709\u95ED\u5305\uFF08\u5982 ipcMain.on \u56DE\u8C03\uFF09\u6301\u6709\u5DF2\u5173\u95ED\u7A97\u53E3\u7684 webContents \u5F15\u7528",
|
|
713
|
+
"\u68C0\u67E5 ipcMain.on / ipcMain.handle \u662F\u5426\u5728\u7A97\u53E3\u5173\u95ED\u540E\u6B63\u786E\u79FB\u9664\u76D1\u542C"
|
|
714
|
+
],
|
|
715
|
+
actions: [
|
|
716
|
+
{ id: "take-heap-snapshot", label: "\u{1F4F8} \u5BFC\u51FA\u5806\u5FEB\u7167", type: "heap-snapshot" }
|
|
717
|
+
]
|
|
686
718
|
};
|
|
687
719
|
}
|
|
688
720
|
return null;
|
|
@@ -706,7 +738,18 @@ var AnomalyDetector = class extends import_events2.EventEmitter {
|
|
|
706
738
|
title: `V8 \u5806\u4F7F\u7528\u7387 ${(usagePercent * 100).toFixed(1)}%`,
|
|
707
739
|
description: `\u4E3B\u8FDB\u7A0B V8 \u5806\u4F7F\u7528 ${Math.round(heapUsed / 1024 / 1024)} MB / ${Math.round(heapTotal / 1024 / 1024)} MB`,
|
|
708
740
|
value: usagePercent * 100,
|
|
709
|
-
threshold: 85
|
|
741
|
+
threshold: 85,
|
|
742
|
+
suggestions: [
|
|
743
|
+
"\u5BFC\u51FA\u5806\u5FEB\u7167 (Heap Snapshot)\uFF0C\u4F7F\u7528 Chrome DevTools \u7684 Memory \u9762\u677F\u5206\u6790\u5BF9\u8C61\u7559\u5B58",
|
|
744
|
+
'\u5BF9\u6BD4\u4E24\u4E2A\u65F6\u95F4\u70B9\u7684\u5806\u5FEB\u7167\uFF0C\u67E5\u627E "Allocated between snapshots" \u4E2D\u7684\u6CC4\u6F0F\u5BF9\u8C61',
|
|
745
|
+
"\u68C0\u67E5 Event Listeners \u662F\u5426\u6B63\u786E\u6E05\u7406\uFF08\u7279\u522B\u662F ipcMain / EventEmitter \u4E0A\u7684\u76D1\u542C\u5668\uFF09",
|
|
746
|
+
"\u68C0\u67E5 Promise \u94FE\u662F\u5426\u6709\u672A\u5904\u7406\u7684 rejection \u5BFC\u81F4\u5F15\u7528\u672A\u91CA\u653E",
|
|
747
|
+
"\u89E6\u53D1 GC \u540E\u89C2\u5BDF\u4F7F\u7528\u7387\u662F\u5426\u4E0B\u964D\uFF0C\u82E5\u4E0D\u964D\u5219\u786E\u8BA4\u4E3A\u6CC4\u6F0F"
|
|
748
|
+
],
|
|
749
|
+
actions: [
|
|
750
|
+
{ id: "take-heap-snapshot", label: "\u{1F4F8} \u5BFC\u51FA\u5806\u5FEB\u7167", type: "heap-snapshot" },
|
|
751
|
+
{ id: "trigger-gc", label: "\u{1F5D1}\uFE0F \u89E6\u53D1 GC", type: "trigger-gc" }
|
|
752
|
+
]
|
|
710
753
|
};
|
|
711
754
|
}
|
|
712
755
|
}
|