node-os-utils 1.3.7 → 2.0.1-beta.2
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 +1113 -237
- package/dist/.tsbuildinfo +1 -0
- package/dist/package.json +99 -0
- package/dist/src/adapters/adapter-factory.d.ts +87 -0
- package/dist/src/adapters/adapter-factory.d.ts.map +1 -0
- package/dist/src/adapters/adapter-factory.js +272 -0
- package/dist/src/adapters/adapter-factory.js.map +1 -0
- package/dist/src/adapters/linux-adapter.d.ts +199 -0
- package/dist/src/adapters/linux-adapter.d.ts.map +1 -0
- package/dist/src/adapters/linux-adapter.js +1308 -0
- package/dist/src/adapters/linux-adapter.js.map +1 -0
- package/dist/src/adapters/macos-adapter.d.ts +232 -0
- package/dist/src/adapters/macos-adapter.d.ts.map +1 -0
- package/dist/src/adapters/macos-adapter.js +1144 -0
- package/dist/src/adapters/macos-adapter.js.map +1 -0
- package/dist/src/adapters/windows-adapter.d.ts +124 -0
- package/dist/src/adapters/windows-adapter.d.ts.map +1 -0
- package/dist/src/adapters/windows-adapter.js +601 -0
- package/dist/src/adapters/windows-adapter.js.map +1 -0
- package/dist/src/core/base-monitor.d.ts +107 -0
- package/dist/src/core/base-monitor.d.ts.map +1 -0
- package/dist/src/core/base-monitor.js +312 -0
- package/dist/src/core/base-monitor.js.map +1 -0
- package/dist/src/core/cache-manager.d.ts +157 -0
- package/dist/src/core/cache-manager.d.ts.map +1 -0
- package/dist/src/core/cache-manager.js +315 -0
- package/dist/src/core/cache-manager.js.map +1 -0
- package/dist/src/core/platform-adapter.d.ts +197 -0
- package/dist/src/core/platform-adapter.d.ts.map +1 -0
- package/dist/src/core/platform-adapter.js +244 -0
- package/dist/src/core/platform-adapter.js.map +1 -0
- package/dist/src/index.d.ts +205 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +315 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/monitors/cpu-monitor.d.ts +139 -0
- package/dist/src/monitors/cpu-monitor.d.ts.map +1 -0
- package/dist/src/monitors/cpu-monitor.js +433 -0
- package/dist/src/monitors/cpu-monitor.js.map +1 -0
- package/dist/src/monitors/disk-monitor.d.ts +136 -0
- package/dist/src/monitors/disk-monitor.d.ts.map +1 -0
- package/dist/src/monitors/disk-monitor.js +465 -0
- package/dist/src/monitors/disk-monitor.js.map +1 -0
- package/dist/src/monitors/memory-monitor.d.ts +136 -0
- package/dist/src/monitors/memory-monitor.d.ts.map +1 -0
- package/dist/src/monitors/memory-monitor.js +443 -0
- package/dist/src/monitors/memory-monitor.js.map +1 -0
- package/dist/src/monitors/network-monitor.d.ts +166 -0
- package/dist/src/monitors/network-monitor.d.ts.map +1 -0
- package/dist/src/monitors/network-monitor.js +586 -0
- package/dist/src/monitors/network-monitor.js.map +1 -0
- package/dist/src/monitors/process-monitor.d.ts +142 -0
- package/dist/src/monitors/process-monitor.d.ts.map +1 -0
- package/dist/src/monitors/process-monitor.js +460 -0
- package/dist/src/monitors/process-monitor.js.map +1 -0
- package/dist/src/monitors/system-monitor.d.ts +173 -0
- package/dist/src/monitors/system-monitor.d.ts.map +1 -0
- package/dist/src/monitors/system-monitor.js +592 -0
- package/dist/src/monitors/system-monitor.js.map +1 -0
- package/dist/src/types/common.d.ts +135 -0
- package/dist/src/types/common.d.ts.map +1 -0
- package/dist/src/types/common.js +141 -0
- package/dist/src/types/common.js.map +1 -0
- package/dist/src/types/config.d.ts +288 -0
- package/dist/src/types/config.d.ts.map +1 -0
- package/dist/src/types/config.js +3 -0
- package/dist/src/types/config.js.map +1 -0
- package/dist/src/types/errors.d.ts +40 -0
- package/dist/src/types/errors.d.ts.map +1 -0
- package/dist/src/types/errors.js +67 -0
- package/dist/src/types/errors.js.map +1 -0
- package/dist/src/types/index.d.ts +16 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +36 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/monitors.d.ts +623 -0
- package/dist/src/types/monitors.d.ts.map +1 -0
- package/dist/src/types/monitors.js +3 -0
- package/dist/src/types/monitors.js.map +1 -0
- package/dist/src/types/platform.d.ts +435 -0
- package/dist/src/types/platform.d.ts.map +1 -0
- package/dist/src/types/platform.js +3 -0
- package/dist/src/types/platform.js.map +1 -0
- package/dist/src/utils/command-executor.d.ts +58 -0
- package/dist/src/utils/command-executor.d.ts.map +1 -0
- package/dist/src/utils/command-executor.js +321 -0
- package/dist/src/utils/command-executor.js.map +1 -0
- package/dist/test/config/test-config.d.ts +301 -0
- package/dist/test/config/test-config.d.ts.map +1 -0
- package/dist/test/config/test-config.js +235 -0
- package/dist/test/config/test-config.js.map +1 -0
- package/dist/test/platform/linux.test.d.ts +6 -0
- package/dist/test/platform/linux.test.d.ts.map +1 -0
- package/dist/test/platform/linux.test.js +307 -0
- package/dist/test/platform/linux.test.js.map +1 -0
- package/dist/test/platform/macos.test.d.ts +6 -0
- package/dist/test/platform/macos.test.d.ts.map +1 -0
- package/dist/test/platform/macos.test.js +276 -0
- package/dist/test/platform/macos.test.js.map +1 -0
- package/dist/test/platform/windows.test.d.ts +6 -0
- package/dist/test/platform/windows.test.d.ts.map +1 -0
- package/dist/test/platform/windows.test.js +320 -0
- package/dist/test/platform/windows.test.js.map +1 -0
- package/dist/test/unit/adapters/adapter-factory.test.d.ts +2 -0
- package/dist/test/unit/adapters/adapter-factory.test.d.ts.map +1 -0
- package/dist/test/unit/adapters/adapter-factory.test.js +147 -0
- package/dist/test/unit/adapters/adapter-factory.test.js.map +1 -0
- package/dist/test/unit/adapters/linux-adapter.test.d.ts +2 -0
- package/dist/test/unit/adapters/linux-adapter.test.d.ts.map +1 -0
- package/dist/test/unit/adapters/linux-adapter.test.js +191 -0
- package/dist/test/unit/adapters/linux-adapter.test.js.map +1 -0
- package/dist/test/unit/adapters/macos-adapter.test.d.ts +2 -0
- package/dist/test/unit/adapters/macos-adapter.test.d.ts.map +1 -0
- package/dist/test/unit/adapters/macos-adapter.test.js +224 -0
- package/dist/test/unit/adapters/macos-adapter.test.js.map +1 -0
- package/dist/test/unit/adapters/windows-adapter.test.d.ts +2 -0
- package/dist/test/unit/adapters/windows-adapter.test.d.ts.map +1 -0
- package/dist/test/unit/adapters/windows-adapter.test.js +41 -0
- package/dist/test/unit/adapters/windows-adapter.test.js.map +1 -0
- package/dist/test/unit/core/base-monitor.test.d.ts +2 -0
- package/dist/test/unit/core/base-monitor.test.d.ts.map +1 -0
- package/dist/test/unit/core/base-monitor.test.js +157 -0
- package/dist/test/unit/core/base-monitor.test.js.map +1 -0
- package/dist/test/unit/core/cache-manager.test.d.ts +6 -0
- package/dist/test/unit/core/cache-manager.test.d.ts.map +1 -0
- package/dist/test/unit/core/cache-manager.test.js +127 -0
- package/dist/test/unit/core/cache-manager.test.js.map +1 -0
- package/dist/test/unit/core/platform-adapter.test.d.ts +2 -0
- package/dist/test/unit/core/platform-adapter.test.d.ts.map +1 -0
- package/dist/test/unit/core/platform-adapter.test.js +186 -0
- package/dist/test/unit/core/platform-adapter.test.js.map +1 -0
- package/dist/test/unit/index.test.d.ts +2 -0
- package/dist/test/unit/index.test.d.ts.map +1 -0
- package/dist/test/unit/index.test.js +183 -0
- package/dist/test/unit/index.test.js.map +1 -0
- package/dist/test/unit/monitors/cpu-monitor.test.d.ts +2 -0
- package/dist/test/unit/monitors/cpu-monitor.test.d.ts.map +1 -0
- package/dist/test/unit/monitors/cpu-monitor.test.js +166 -0
- package/dist/test/unit/monitors/cpu-monitor.test.js.map +1 -0
- package/dist/test/unit/monitors/disk-monitor.test.d.ts +2 -0
- package/dist/test/unit/monitors/disk-monitor.test.d.ts.map +1 -0
- package/dist/test/unit/monitors/disk-monitor.test.js +46 -0
- package/dist/test/unit/monitors/disk-monitor.test.js.map +1 -0
- package/dist/test/unit/monitors/memory-monitor.test.d.ts +2 -0
- package/dist/test/unit/monitors/memory-monitor.test.d.ts.map +1 -0
- package/dist/test/unit/monitors/memory-monitor.test.js +142 -0
- package/dist/test/unit/monitors/memory-monitor.test.js.map +1 -0
- package/dist/test/unit/monitors/network-monitor.test.d.ts +2 -0
- package/dist/test/unit/monitors/network-monitor.test.d.ts.map +1 -0
- package/dist/test/unit/monitors/network-monitor.test.js +22 -0
- package/dist/test/unit/monitors/network-monitor.test.js.map +1 -0
- package/dist/test/unit/monitors/process-monitor.test.d.ts +2 -0
- package/dist/test/unit/monitors/process-monitor.test.d.ts.map +1 -0
- package/dist/test/unit/monitors/process-monitor.test.js +165 -0
- package/dist/test/unit/monitors/process-monitor.test.js.map +1 -0
- package/dist/test/unit/monitors/system-monitor-macos.test.d.ts +2 -0
- package/dist/test/unit/monitors/system-monitor-macos.test.d.ts.map +1 -0
- package/dist/test/unit/monitors/system-monitor-macos.test.js +115 -0
- package/dist/test/unit/monitors/system-monitor-macos.test.js.map +1 -0
- package/dist/test/unit/monitors/system-monitor.test.d.ts +2 -0
- package/dist/test/unit/monitors/system-monitor.test.d.ts.map +1 -0
- package/dist/test/unit/monitors/system-monitor.test.js +70 -0
- package/dist/test/unit/monitors/system-monitor.test.js.map +1 -0
- package/dist/test/unit/types/common.test.d.ts +6 -0
- package/dist/test/unit/types/common.test.d.ts.map +1 -0
- package/dist/test/unit/types/common.test.js +139 -0
- package/dist/test/unit/types/common.test.js.map +1 -0
- package/dist/test/unit/types/config.test.d.ts +2 -0
- package/dist/test/unit/types/config.test.d.ts.map +1 -0
- package/dist/test/unit/types/config.test.js +9 -0
- package/dist/test/unit/types/config.test.js.map +1 -0
- package/dist/test/unit/types/errors.test.d.ts +6 -0
- package/dist/test/unit/types/errors.test.d.ts.map +1 -0
- package/dist/test/unit/types/errors.test.js +184 -0
- package/dist/test/unit/types/errors.test.js.map +1 -0
- package/dist/test/unit/types/index.test.d.ts +2 -0
- package/dist/test/unit/types/index.test.d.ts.map +1 -0
- package/dist/test/unit/types/index.test.js +39 -0
- package/dist/test/unit/types/index.test.js.map +1 -0
- package/dist/test/unit/types/monitors.test.d.ts +2 -0
- package/dist/test/unit/types/monitors.test.d.ts.map +1 -0
- package/dist/test/unit/types/monitors.test.js +9 -0
- package/dist/test/unit/types/monitors.test.js.map +1 -0
- package/dist/test/unit/types/platform.test.d.ts +2 -0
- package/dist/test/unit/types/platform.test.d.ts.map +1 -0
- package/dist/test/unit/types/platform.test.js +9 -0
- package/dist/test/unit/types/platform.test.js.map +1 -0
- package/dist/test/unit/utils/command-executor.test.d.ts +6 -0
- package/dist/test/unit/utils/command-executor.test.d.ts.map +1 -0
- package/dist/test/unit/utils/command-executor.test.js +153 -0
- package/dist/test/unit/utils/command-executor.test.js.map +1 -0
- package/dist/test/unit/utils/platform-specific.test.d.ts +2 -0
- package/dist/test/unit/utils/platform-specific.test.d.ts.map +1 -0
- package/dist/test/unit/utils/platform-specific.test.js +32 -0
- package/dist/test/unit/utils/platform-specific.test.js.map +1 -0
- package/dist/test/utils/platform-specific.d.ts +139 -0
- package/dist/test/utils/platform-specific.d.ts.map +1 -0
- package/dist/test/utils/platform-specific.js +306 -0
- package/dist/test/utils/platform-specific.js.map +1 -0
- package/dist/test/utils/test-base.d.ts +157 -0
- package/dist/test/utils/test-base.d.ts.map +1 -0
- package/dist/test/utils/test-base.js +316 -0
- package/dist/test/utils/test-base.js.map +1 -0
- package/package.json +78 -18
- package/.travis.yml +0 -7
- package/index.js +0 -17
- package/lib/bucket.js +0 -14
- package/lib/cpu.js +0 -94
- package/lib/drive.js +0 -113
- package/lib/exec.js +0 -28
- package/lib/mem.js +0 -176
- package/lib/netstat.js +0 -182
- package/lib/openfiles.js +0 -25
- package/lib/os.js +0 -148
- package/lib/osCmd.js +0 -20
- package/lib/proc.js +0 -38
- package/lib/users.js +0 -18
- package/test/test.js +0 -55
- package/util/co.js +0 -237
- package/util/index.js +0 -12
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { MonitorError } from './errors';
|
|
2
|
+
/**
|
|
3
|
+
* 监控结果统一返回类型
|
|
4
|
+
*/
|
|
5
|
+
export type MonitorResult<T> = {
|
|
6
|
+
success: true;
|
|
7
|
+
data: T;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
cached: boolean;
|
|
10
|
+
platform: string;
|
|
11
|
+
} | {
|
|
12
|
+
success: false;
|
|
13
|
+
error: MonitorError;
|
|
14
|
+
platform: string;
|
|
15
|
+
timestamp: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* 数据单位处理类
|
|
19
|
+
*/
|
|
20
|
+
export declare class DataSize {
|
|
21
|
+
readonly bytes: number;
|
|
22
|
+
constructor(bytes: number);
|
|
23
|
+
/**
|
|
24
|
+
* 获取字节数
|
|
25
|
+
*/
|
|
26
|
+
toBytes(): number;
|
|
27
|
+
/**
|
|
28
|
+
* 转换为 KB
|
|
29
|
+
*/
|
|
30
|
+
toKB(): number;
|
|
31
|
+
/**
|
|
32
|
+
* 转换为 MB
|
|
33
|
+
*/
|
|
34
|
+
toMB(): number;
|
|
35
|
+
/**
|
|
36
|
+
* 转换为 GB
|
|
37
|
+
*/
|
|
38
|
+
toGB(): number;
|
|
39
|
+
/**
|
|
40
|
+
* 转换为 TB
|
|
41
|
+
*/
|
|
42
|
+
toTB(): number;
|
|
43
|
+
/**
|
|
44
|
+
* 自动选择合适的单位并格式化
|
|
45
|
+
*/
|
|
46
|
+
toString(unit?: 'auto' | 'B' | 'KB' | 'MB' | 'GB' | 'TB'): string;
|
|
47
|
+
/**
|
|
48
|
+
* 创建 DataSize 实例的静态方法
|
|
49
|
+
*/
|
|
50
|
+
static fromBytes(bytes: number): DataSize;
|
|
51
|
+
static fromKB(kb: number): DataSize;
|
|
52
|
+
static fromMB(mb: number): DataSize;
|
|
53
|
+
static fromGB(gb: number): DataSize;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 时间戳处理类
|
|
57
|
+
*/
|
|
58
|
+
export declare class Timestamp {
|
|
59
|
+
private readonly time;
|
|
60
|
+
constructor(time?: number);
|
|
61
|
+
/**
|
|
62
|
+
* 距离现在多久(毫秒)
|
|
63
|
+
*/
|
|
64
|
+
ago(): number;
|
|
65
|
+
/**
|
|
66
|
+
* 格式化为 ISO 字符串
|
|
67
|
+
*/
|
|
68
|
+
format(): string;
|
|
69
|
+
/**
|
|
70
|
+
* 格式化为本地时间字符串
|
|
71
|
+
*/
|
|
72
|
+
toLocalString(): string;
|
|
73
|
+
/**
|
|
74
|
+
* 获取原始时间戳
|
|
75
|
+
*/
|
|
76
|
+
valueOf(): number;
|
|
77
|
+
/**
|
|
78
|
+
* 创建当前时间戳
|
|
79
|
+
*/
|
|
80
|
+
static now(): Timestamp;
|
|
81
|
+
/**
|
|
82
|
+
* 从特定时间创建时间戳
|
|
83
|
+
*/
|
|
84
|
+
static from(time: number | Date): Timestamp;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* 监控订阅接口
|
|
88
|
+
*/
|
|
89
|
+
export interface MonitorSubscription {
|
|
90
|
+
/**
|
|
91
|
+
* 取消订阅
|
|
92
|
+
*/
|
|
93
|
+
unsubscribe(): void;
|
|
94
|
+
/**
|
|
95
|
+
* 检查是否仍然活跃
|
|
96
|
+
*/
|
|
97
|
+
isActive(): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* 暂停监控
|
|
100
|
+
*/
|
|
101
|
+
pause(): void;
|
|
102
|
+
/**
|
|
103
|
+
* 恢复监控
|
|
104
|
+
*/
|
|
105
|
+
resume(): void;
|
|
106
|
+
/**
|
|
107
|
+
* 获取订阅状态
|
|
108
|
+
*/
|
|
109
|
+
getStatus(): 'active' | 'paused' | 'stopped';
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 百分比类型
|
|
113
|
+
*/
|
|
114
|
+
export type Percentage = number;
|
|
115
|
+
/**
|
|
116
|
+
* 频率类型(Hz)
|
|
117
|
+
*/
|
|
118
|
+
export type Frequency = number;
|
|
119
|
+
/**
|
|
120
|
+
* 温度类型(摄氏度)
|
|
121
|
+
*/
|
|
122
|
+
export type Temperature = number;
|
|
123
|
+
/**
|
|
124
|
+
* 支持的平台类型
|
|
125
|
+
*/
|
|
126
|
+
export type Platform = 'linux' | 'darwin' | 'win32';
|
|
127
|
+
/**
|
|
128
|
+
* 监控间隔类型(毫秒)
|
|
129
|
+
*/
|
|
130
|
+
export type Interval = number;
|
|
131
|
+
/**
|
|
132
|
+
* 进程 ID 类型
|
|
133
|
+
*/
|
|
134
|
+
export type ProcessId = number;
|
|
135
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG;IACF,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,qBAAa,QAAQ;aACS,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IAMzC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM;IA8BjE;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAIzC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ;IAInC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ;IAInC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ;CAGpC;AAED;;GAEG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,GAAE,MAAmB;IAEtD;;OAEG;IACH,GAAG,IAAI,MAAM;IAIb;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,MAAM,CAAC,GAAG,IAAI,SAAS;IAIvB;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;CAG5C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;IAEpB;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;OAEG;IACH,SAAS,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Timestamp = exports.DataSize = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 数据单位处理类
|
|
6
|
+
*/
|
|
7
|
+
class DataSize {
|
|
8
|
+
constructor(bytes) {
|
|
9
|
+
this.bytes = bytes;
|
|
10
|
+
if (bytes < 0) {
|
|
11
|
+
throw new Error('Data size cannot be negative');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 获取字节数
|
|
16
|
+
*/
|
|
17
|
+
toBytes() {
|
|
18
|
+
return this.bytes;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 转换为 KB
|
|
22
|
+
*/
|
|
23
|
+
toKB() {
|
|
24
|
+
return this.bytes / 1024;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 转换为 MB
|
|
28
|
+
*/
|
|
29
|
+
toMB() {
|
|
30
|
+
return this.bytes / (1024 * 1024);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 转换为 GB
|
|
34
|
+
*/
|
|
35
|
+
toGB() {
|
|
36
|
+
return this.bytes / (1024 * 1024 * 1024);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 转换为 TB
|
|
40
|
+
*/
|
|
41
|
+
toTB() {
|
|
42
|
+
return this.bytes / (1024 * 1024 * 1024 * 1024);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 自动选择合适的单位并格式化
|
|
46
|
+
*/
|
|
47
|
+
toString(unit) {
|
|
48
|
+
if (unit && unit !== 'auto') {
|
|
49
|
+
switch (unit) {
|
|
50
|
+
case 'B':
|
|
51
|
+
return `${this.bytes} B`;
|
|
52
|
+
case 'KB':
|
|
53
|
+
return `${this.toKB().toFixed(2)} KB`;
|
|
54
|
+
case 'MB':
|
|
55
|
+
return `${this.toMB().toFixed(2)} MB`;
|
|
56
|
+
case 'GB':
|
|
57
|
+
return `${this.toGB().toFixed(2)} GB`;
|
|
58
|
+
case 'TB':
|
|
59
|
+
return `${this.toTB().toFixed(2)} TB`;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// 自动选择单位
|
|
63
|
+
if (this.bytes < 1024) {
|
|
64
|
+
return `${this.bytes} B`;
|
|
65
|
+
}
|
|
66
|
+
else if (this.bytes < 1024 * 1024) {
|
|
67
|
+
return `${this.toKB().toFixed(2)} KB`;
|
|
68
|
+
}
|
|
69
|
+
else if (this.bytes < 1024 * 1024 * 1024) {
|
|
70
|
+
return `${this.toMB().toFixed(2)} MB`;
|
|
71
|
+
}
|
|
72
|
+
else if (this.bytes < 1024 * 1024 * 1024 * 1024) {
|
|
73
|
+
return `${this.toGB().toFixed(2)} GB`;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return `${this.toTB().toFixed(2)} TB`;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* 创建 DataSize 实例的静态方法
|
|
81
|
+
*/
|
|
82
|
+
static fromBytes(bytes) {
|
|
83
|
+
return new DataSize(bytes);
|
|
84
|
+
}
|
|
85
|
+
static fromKB(kb) {
|
|
86
|
+
return new DataSize(kb * 1024);
|
|
87
|
+
}
|
|
88
|
+
static fromMB(mb) {
|
|
89
|
+
return new DataSize(mb * 1024 * 1024);
|
|
90
|
+
}
|
|
91
|
+
static fromGB(gb) {
|
|
92
|
+
return new DataSize(gb * 1024 * 1024 * 1024);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.DataSize = DataSize;
|
|
96
|
+
/**
|
|
97
|
+
* 时间戳处理类
|
|
98
|
+
*/
|
|
99
|
+
class Timestamp {
|
|
100
|
+
constructor(time = Date.now()) {
|
|
101
|
+
this.time = time;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* 距离现在多久(毫秒)
|
|
105
|
+
*/
|
|
106
|
+
ago() {
|
|
107
|
+
return Date.now() - this.time;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* 格式化为 ISO 字符串
|
|
111
|
+
*/
|
|
112
|
+
format() {
|
|
113
|
+
return new Date(this.time).toISOString();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* 格式化为本地时间字符串
|
|
117
|
+
*/
|
|
118
|
+
toLocalString() {
|
|
119
|
+
return new Date(this.time).toLocaleString();
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* 获取原始时间戳
|
|
123
|
+
*/
|
|
124
|
+
valueOf() {
|
|
125
|
+
return this.time;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* 创建当前时间戳
|
|
129
|
+
*/
|
|
130
|
+
static now() {
|
|
131
|
+
return new Timestamp();
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* 从特定时间创建时间戳
|
|
135
|
+
*/
|
|
136
|
+
static from(time) {
|
|
137
|
+
return new Timestamp(typeof time === 'number' ? time : time.getTime());
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.Timestamp = Timestamp;
|
|
141
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Interval } from './common';
|
|
3
|
+
/**
|
|
4
|
+
* 全局配置接口
|
|
5
|
+
*/
|
|
6
|
+
export interface GlobalConfig {
|
|
7
|
+
/**
|
|
8
|
+
* 目标平台(undefined表示自动检测)
|
|
9
|
+
*/
|
|
10
|
+
platform?: string;
|
|
11
|
+
/**
|
|
12
|
+
* 是否启用缓存
|
|
13
|
+
*/
|
|
14
|
+
cacheEnabled?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 缓存生存时间(毫秒)
|
|
17
|
+
*/
|
|
18
|
+
cacheTTL?: number;
|
|
19
|
+
/**
|
|
20
|
+
* 默认超时时间(毫秒)
|
|
21
|
+
*/
|
|
22
|
+
timeout?: number;
|
|
23
|
+
/**
|
|
24
|
+
* 最大缓存大小
|
|
25
|
+
*/
|
|
26
|
+
maxCacheSize?: number;
|
|
27
|
+
/**
|
|
28
|
+
* 调试模式
|
|
29
|
+
*/
|
|
30
|
+
debug?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* CPU监控器配置
|
|
33
|
+
*/
|
|
34
|
+
cpu?: CPUConfig;
|
|
35
|
+
/**
|
|
36
|
+
* 内存监控器配置
|
|
37
|
+
*/
|
|
38
|
+
memory?: MemoryConfig;
|
|
39
|
+
/**
|
|
40
|
+
* 磁盘监控器配置
|
|
41
|
+
*/
|
|
42
|
+
disk?: DiskConfig;
|
|
43
|
+
/**
|
|
44
|
+
* 网络监控器配置
|
|
45
|
+
*/
|
|
46
|
+
network?: NetworkConfig;
|
|
47
|
+
/**
|
|
48
|
+
* 进程监控器配置
|
|
49
|
+
*/
|
|
50
|
+
process?: ProcessConfig;
|
|
51
|
+
/**
|
|
52
|
+
* 系统监控器配置
|
|
53
|
+
*/
|
|
54
|
+
system?: SystemConfig;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 基础监控器配置
|
|
58
|
+
*/
|
|
59
|
+
export interface MonitorConfig {
|
|
60
|
+
/**
|
|
61
|
+
* 监控间隔(毫秒)
|
|
62
|
+
*/
|
|
63
|
+
interval?: Interval;
|
|
64
|
+
/**
|
|
65
|
+
* 超时时间(毫秒)
|
|
66
|
+
*/
|
|
67
|
+
timeout?: number;
|
|
68
|
+
/**
|
|
69
|
+
* 是否启用缓存
|
|
70
|
+
*/
|
|
71
|
+
cacheEnabled?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* 缓存生存时间(毫秒)
|
|
74
|
+
*/
|
|
75
|
+
cacheTTL?: number;
|
|
76
|
+
/**
|
|
77
|
+
* 采样次数
|
|
78
|
+
*/
|
|
79
|
+
samples?: number;
|
|
80
|
+
/**
|
|
81
|
+
* 是否包含详细信息
|
|
82
|
+
*/
|
|
83
|
+
includeDetails?: boolean;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* CPU 监控器配置
|
|
87
|
+
*/
|
|
88
|
+
export interface CPUConfig extends MonitorConfig {
|
|
89
|
+
/**
|
|
90
|
+
* 采样间隔(毫秒)
|
|
91
|
+
*/
|
|
92
|
+
samplingInterval?: number;
|
|
93
|
+
/**
|
|
94
|
+
* 是否包含温度信息
|
|
95
|
+
*/
|
|
96
|
+
includeTemperature?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* 是否包含频率信息
|
|
99
|
+
*/
|
|
100
|
+
includeFrequency?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* 是否包含缓存信息
|
|
103
|
+
*/
|
|
104
|
+
includeCache?: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* 是否按核心监控
|
|
107
|
+
*/
|
|
108
|
+
perCore?: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* 负载平均值时间窗口(分钟)
|
|
111
|
+
*/
|
|
112
|
+
loadAverageWindows?: number[];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* 内存监控器配置
|
|
116
|
+
*/
|
|
117
|
+
export interface MemoryConfig extends MonitorConfig {
|
|
118
|
+
/**
|
|
119
|
+
* 是否包含交换空间信息
|
|
120
|
+
*/
|
|
121
|
+
includeSwap?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* 是否包含缓存和缓冲区详情
|
|
124
|
+
*/
|
|
125
|
+
includeBuffers?: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* 是否包含内存压力信息
|
|
128
|
+
*/
|
|
129
|
+
includePressure?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* 内存单位
|
|
132
|
+
*/
|
|
133
|
+
unit?: 'auto' | 'B' | 'KB' | 'MB' | 'GB' | 'TB';
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* 磁盘监控器配置
|
|
137
|
+
*/
|
|
138
|
+
export interface DiskConfig extends MonitorConfig {
|
|
139
|
+
/**
|
|
140
|
+
* 是否包含 I/O 统计
|
|
141
|
+
*/
|
|
142
|
+
includeIO?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* 是否包含健康状态
|
|
145
|
+
*/
|
|
146
|
+
includeHealth?: boolean;
|
|
147
|
+
/**
|
|
148
|
+
* 是否包含文件系统信息
|
|
149
|
+
*/
|
|
150
|
+
includeFilesystem?: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* 目标磁盘设备(为空则监控所有)
|
|
153
|
+
*/
|
|
154
|
+
devices?: string[];
|
|
155
|
+
/**
|
|
156
|
+
* 是否包含统计信息
|
|
157
|
+
*/
|
|
158
|
+
includeStats?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* 要排除的文件系统类型
|
|
161
|
+
*/
|
|
162
|
+
excludeTypes?: string[];
|
|
163
|
+
/**
|
|
164
|
+
* 要监控的挂载点
|
|
165
|
+
*/
|
|
166
|
+
mountPoints?: string[];
|
|
167
|
+
/**
|
|
168
|
+
* 磁盘空间单位
|
|
169
|
+
*/
|
|
170
|
+
unit?: 'auto' | 'B' | 'KB' | 'MB' | 'GB' | 'TB';
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* 网络监控器配置
|
|
174
|
+
*/
|
|
175
|
+
export interface NetworkConfig extends MonitorConfig {
|
|
176
|
+
/**
|
|
177
|
+
* 是否包含接口统计
|
|
178
|
+
*/
|
|
179
|
+
includeInterfaceStats?: boolean;
|
|
180
|
+
/**
|
|
181
|
+
* 是否包含连接信息
|
|
182
|
+
*/
|
|
183
|
+
includeConnections?: boolean;
|
|
184
|
+
/**
|
|
185
|
+
* 是否包含带宽监控
|
|
186
|
+
*/
|
|
187
|
+
includeBandwidth?: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* 目标网络接口(为空则监控所有)
|
|
190
|
+
*/
|
|
191
|
+
interfaces?: string[];
|
|
192
|
+
/**
|
|
193
|
+
* 带宽监控间隔(毫秒)
|
|
194
|
+
*/
|
|
195
|
+
bandwidthInterval?: number;
|
|
196
|
+
/**
|
|
197
|
+
* 数据单位
|
|
198
|
+
*/
|
|
199
|
+
unit?: 'auto' | 'B' | 'KB' | 'MB' | 'GB' | 'TB';
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* 进程监控器配置
|
|
203
|
+
*/
|
|
204
|
+
export interface ProcessConfig extends MonitorConfig {
|
|
205
|
+
/**
|
|
206
|
+
* 是否包含子进程
|
|
207
|
+
*/
|
|
208
|
+
includeChildren?: boolean;
|
|
209
|
+
/**
|
|
210
|
+
* 是否包含线程信息
|
|
211
|
+
*/
|
|
212
|
+
includeThreads?: boolean;
|
|
213
|
+
/**
|
|
214
|
+
* 是否包含环境变量
|
|
215
|
+
*/
|
|
216
|
+
includeEnvironment?: boolean;
|
|
217
|
+
/**
|
|
218
|
+
* 是否包含打开文件
|
|
219
|
+
*/
|
|
220
|
+
includeOpenFiles?: boolean;
|
|
221
|
+
/**
|
|
222
|
+
* 目标进程 ID 列表
|
|
223
|
+
*/
|
|
224
|
+
pids?: number[];
|
|
225
|
+
/**
|
|
226
|
+
* 进程名称过滤
|
|
227
|
+
*/
|
|
228
|
+
nameFilter?: string;
|
|
229
|
+
/**
|
|
230
|
+
* 最大返回进程数
|
|
231
|
+
*/
|
|
232
|
+
maxResults?: number;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* 系统监控器配置
|
|
236
|
+
*/
|
|
237
|
+
export interface SystemConfig extends MonitorConfig {
|
|
238
|
+
/**
|
|
239
|
+
* 是否包含系统负载
|
|
240
|
+
*/
|
|
241
|
+
includeLoad?: boolean;
|
|
242
|
+
/**
|
|
243
|
+
* 是否包含运行时间
|
|
244
|
+
*/
|
|
245
|
+
includeUptime?: boolean;
|
|
246
|
+
/**
|
|
247
|
+
* 是否包含系统信息
|
|
248
|
+
*/
|
|
249
|
+
includeSystemInfo?: boolean;
|
|
250
|
+
/**
|
|
251
|
+
* 是否包含用户信息
|
|
252
|
+
*/
|
|
253
|
+
includeUsers?: boolean;
|
|
254
|
+
/**
|
|
255
|
+
* 是否包含服务状态
|
|
256
|
+
*/
|
|
257
|
+
includeServices?: boolean;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* 命令执行配置
|
|
261
|
+
*/
|
|
262
|
+
export interface ExecuteOptions {
|
|
263
|
+
/**
|
|
264
|
+
* 超时时间(毫秒)
|
|
265
|
+
*/
|
|
266
|
+
timeout?: number;
|
|
267
|
+
/**
|
|
268
|
+
* 是否使用 shell
|
|
269
|
+
*/
|
|
270
|
+
shell?: boolean;
|
|
271
|
+
/**
|
|
272
|
+
* 环境变量
|
|
273
|
+
*/
|
|
274
|
+
env?: Record<string, string>;
|
|
275
|
+
/**
|
|
276
|
+
* 工作目录
|
|
277
|
+
*/
|
|
278
|
+
cwd?: string;
|
|
279
|
+
/**
|
|
280
|
+
* 编码格式
|
|
281
|
+
*/
|
|
282
|
+
encoding?: BufferEncoding;
|
|
283
|
+
/**
|
|
284
|
+
* 最大缓冲区大小
|
|
285
|
+
*/
|
|
286
|
+
maxBuffer?: number;
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 错误代码枚举
|
|
3
|
+
*/
|
|
4
|
+
export declare enum ErrorCode {
|
|
5
|
+
PLATFORM_NOT_SUPPORTED = "PLATFORM_NOT_SUPPORTED",// 当前平台不支持该功能
|
|
6
|
+
COMMAND_FAILED = "COMMAND_FAILED",// 系统命令执行失败
|
|
7
|
+
PARSE_ERROR = "PARSE_ERROR",// 命令输出或数据解析失败
|
|
8
|
+
PERMISSION_DENIED = "PERMISSION_DENIED",// 权限不足无法完成操作
|
|
9
|
+
TIMEOUT = "TIMEOUT",// 操作超过设定超时时间
|
|
10
|
+
INVALID_CONFIG = "INVALID_CONFIG",// 提供的配置无效
|
|
11
|
+
NOT_AVAILABLE = "NOT_AVAILABLE",// 指标暂时不可用
|
|
12
|
+
FILE_NOT_FOUND = "FILE_NOT_FOUND",// 依赖的文件或路径不存在
|
|
13
|
+
NETWORK_ERROR = "NETWORK_ERROR"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 监控错误类
|
|
17
|
+
*/
|
|
18
|
+
export declare class MonitorError extends Error {
|
|
19
|
+
readonly code: ErrorCode;
|
|
20
|
+
readonly platform: string;
|
|
21
|
+
readonly details?: any;
|
|
22
|
+
constructor(message: string, code: ErrorCode, platform: string, details?: any);
|
|
23
|
+
/**
|
|
24
|
+
* 转换为 JSON 对象
|
|
25
|
+
*/
|
|
26
|
+
toJSON(): object;
|
|
27
|
+
/**
|
|
28
|
+
* 创建平台不支持错误
|
|
29
|
+
*/
|
|
30
|
+
static createPlatformNotSupported(platform: string, feature: string): MonitorError;
|
|
31
|
+
/**
|
|
32
|
+
* 创建命令执行失败错误
|
|
33
|
+
*/
|
|
34
|
+
static createCommandFailed(platform: string, command: string, details?: any): MonitorError;
|
|
35
|
+
/**
|
|
36
|
+
* 创建解析错误
|
|
37
|
+
*/
|
|
38
|
+
static createParseError(platform: string, data: string, reason?: string): MonitorError;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,SAAS;IACnB,sBAAsB,2BAA2B,CAAE,aAAa;IAChE,cAAc,mBAAmB,CAAkB,WAAW;IAC9D,WAAW,gBAAgB,CAAwB,cAAc;IACjE,iBAAiB,sBAAsB,CAAY,aAAa;IAChE,OAAO,YAAY,CAAgC,aAAa;IAChE,cAAc,mBAAmB,CAAkB,UAAU;IAC7D,aAAa,kBAAkB,CAAoB,UAAU;IAC7D,cAAc,mBAAmB,CAAkB,cAAc;IACjE,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;aAGnB,IAAI,EAAE,SAAS;aACf,QAAQ,EAAE,MAAM;aAChB,OAAO,CAAC;gBAHxB,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,KAAK;IAW/B;;OAEG;IACH,MAAM,IAAI,MAAM;IAWhB;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY;IASlF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,YAAY;IAS1F;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY;CAQvF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MonitorError = exports.ErrorCode = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 错误代码枚举
|
|
6
|
+
*/
|
|
7
|
+
var ErrorCode;
|
|
8
|
+
(function (ErrorCode) {
|
|
9
|
+
ErrorCode["PLATFORM_NOT_SUPPORTED"] = "PLATFORM_NOT_SUPPORTED";
|
|
10
|
+
ErrorCode["COMMAND_FAILED"] = "COMMAND_FAILED";
|
|
11
|
+
ErrorCode["PARSE_ERROR"] = "PARSE_ERROR";
|
|
12
|
+
ErrorCode["PERMISSION_DENIED"] = "PERMISSION_DENIED";
|
|
13
|
+
ErrorCode["TIMEOUT"] = "TIMEOUT";
|
|
14
|
+
ErrorCode["INVALID_CONFIG"] = "INVALID_CONFIG";
|
|
15
|
+
ErrorCode["NOT_AVAILABLE"] = "NOT_AVAILABLE";
|
|
16
|
+
ErrorCode["FILE_NOT_FOUND"] = "FILE_NOT_FOUND";
|
|
17
|
+
ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR"; // 网络操作失败
|
|
18
|
+
})(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
|
|
19
|
+
/**
|
|
20
|
+
* 监控错误类
|
|
21
|
+
*/
|
|
22
|
+
class MonitorError extends Error {
|
|
23
|
+
constructor(message, code, platform, details) {
|
|
24
|
+
super(message);
|
|
25
|
+
this.code = code;
|
|
26
|
+
this.platform = platform;
|
|
27
|
+
this.details = details;
|
|
28
|
+
this.name = 'MonitorError';
|
|
29
|
+
// 确保堆栈跟踪正确显示
|
|
30
|
+
if (Error.captureStackTrace) {
|
|
31
|
+
Error.captureStackTrace(this, MonitorError);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 转换为 JSON 对象
|
|
36
|
+
*/
|
|
37
|
+
toJSON() {
|
|
38
|
+
return {
|
|
39
|
+
name: this.name,
|
|
40
|
+
message: this.message,
|
|
41
|
+
code: this.code,
|
|
42
|
+
platform: this.platform,
|
|
43
|
+
details: this.details,
|
|
44
|
+
stack: this.stack
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 创建平台不支持错误
|
|
49
|
+
*/
|
|
50
|
+
static createPlatformNotSupported(platform, feature) {
|
|
51
|
+
return new MonitorError(`Feature '${feature}' is not supported on platform '${platform}'`, ErrorCode.PLATFORM_NOT_SUPPORTED, platform, { feature });
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 创建命令执行失败错误
|
|
55
|
+
*/
|
|
56
|
+
static createCommandFailed(platform, command, details) {
|
|
57
|
+
return new MonitorError(`Command execution failed: ${command}`, ErrorCode.COMMAND_FAILED, platform, { command, ...details });
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 创建解析错误
|
|
61
|
+
*/
|
|
62
|
+
static createParseError(platform, data, reason) {
|
|
63
|
+
return new MonitorError(`Failed to parse data: ${reason || 'Unknown parsing error'}`, ErrorCode.PARSE_ERROR, platform, { data: data.substring(0, 100) + (data.length > 100 ? '...' : ''), reason });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.MonitorError = MonitorError;
|
|
67
|
+
//# sourceMappingURL=errors.js.map
|