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.
Files changed (220) hide show
  1. package/README.md +1113 -237
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/package.json +99 -0
  4. package/dist/src/adapters/adapter-factory.d.ts +87 -0
  5. package/dist/src/adapters/adapter-factory.d.ts.map +1 -0
  6. package/dist/src/adapters/adapter-factory.js +272 -0
  7. package/dist/src/adapters/adapter-factory.js.map +1 -0
  8. package/dist/src/adapters/linux-adapter.d.ts +199 -0
  9. package/dist/src/adapters/linux-adapter.d.ts.map +1 -0
  10. package/dist/src/adapters/linux-adapter.js +1308 -0
  11. package/dist/src/adapters/linux-adapter.js.map +1 -0
  12. package/dist/src/adapters/macos-adapter.d.ts +232 -0
  13. package/dist/src/adapters/macos-adapter.d.ts.map +1 -0
  14. package/dist/src/adapters/macos-adapter.js +1144 -0
  15. package/dist/src/adapters/macos-adapter.js.map +1 -0
  16. package/dist/src/adapters/windows-adapter.d.ts +124 -0
  17. package/dist/src/adapters/windows-adapter.d.ts.map +1 -0
  18. package/dist/src/adapters/windows-adapter.js +601 -0
  19. package/dist/src/adapters/windows-adapter.js.map +1 -0
  20. package/dist/src/core/base-monitor.d.ts +107 -0
  21. package/dist/src/core/base-monitor.d.ts.map +1 -0
  22. package/dist/src/core/base-monitor.js +312 -0
  23. package/dist/src/core/base-monitor.js.map +1 -0
  24. package/dist/src/core/cache-manager.d.ts +157 -0
  25. package/dist/src/core/cache-manager.d.ts.map +1 -0
  26. package/dist/src/core/cache-manager.js +315 -0
  27. package/dist/src/core/cache-manager.js.map +1 -0
  28. package/dist/src/core/platform-adapter.d.ts +197 -0
  29. package/dist/src/core/platform-adapter.d.ts.map +1 -0
  30. package/dist/src/core/platform-adapter.js +244 -0
  31. package/dist/src/core/platform-adapter.js.map +1 -0
  32. package/dist/src/index.d.ts +205 -0
  33. package/dist/src/index.d.ts.map +1 -0
  34. package/dist/src/index.js +315 -0
  35. package/dist/src/index.js.map +1 -0
  36. package/dist/src/monitors/cpu-monitor.d.ts +139 -0
  37. package/dist/src/monitors/cpu-monitor.d.ts.map +1 -0
  38. package/dist/src/monitors/cpu-monitor.js +433 -0
  39. package/dist/src/monitors/cpu-monitor.js.map +1 -0
  40. package/dist/src/monitors/disk-monitor.d.ts +136 -0
  41. package/dist/src/monitors/disk-monitor.d.ts.map +1 -0
  42. package/dist/src/monitors/disk-monitor.js +465 -0
  43. package/dist/src/monitors/disk-monitor.js.map +1 -0
  44. package/dist/src/monitors/memory-monitor.d.ts +136 -0
  45. package/dist/src/monitors/memory-monitor.d.ts.map +1 -0
  46. package/dist/src/monitors/memory-monitor.js +443 -0
  47. package/dist/src/monitors/memory-monitor.js.map +1 -0
  48. package/dist/src/monitors/network-monitor.d.ts +166 -0
  49. package/dist/src/monitors/network-monitor.d.ts.map +1 -0
  50. package/dist/src/monitors/network-monitor.js +586 -0
  51. package/dist/src/monitors/network-monitor.js.map +1 -0
  52. package/dist/src/monitors/process-monitor.d.ts +142 -0
  53. package/dist/src/monitors/process-monitor.d.ts.map +1 -0
  54. package/dist/src/monitors/process-monitor.js +460 -0
  55. package/dist/src/monitors/process-monitor.js.map +1 -0
  56. package/dist/src/monitors/system-monitor.d.ts +173 -0
  57. package/dist/src/monitors/system-monitor.d.ts.map +1 -0
  58. package/dist/src/monitors/system-monitor.js +592 -0
  59. package/dist/src/monitors/system-monitor.js.map +1 -0
  60. package/dist/src/types/common.d.ts +135 -0
  61. package/dist/src/types/common.d.ts.map +1 -0
  62. package/dist/src/types/common.js +141 -0
  63. package/dist/src/types/common.js.map +1 -0
  64. package/dist/src/types/config.d.ts +288 -0
  65. package/dist/src/types/config.d.ts.map +1 -0
  66. package/dist/src/types/config.js +3 -0
  67. package/dist/src/types/config.js.map +1 -0
  68. package/dist/src/types/errors.d.ts +40 -0
  69. package/dist/src/types/errors.d.ts.map +1 -0
  70. package/dist/src/types/errors.js +67 -0
  71. package/dist/src/types/errors.js.map +1 -0
  72. package/dist/src/types/index.d.ts +16 -0
  73. package/dist/src/types/index.d.ts.map +1 -0
  74. package/dist/src/types/index.js +36 -0
  75. package/dist/src/types/index.js.map +1 -0
  76. package/dist/src/types/monitors.d.ts +623 -0
  77. package/dist/src/types/monitors.d.ts.map +1 -0
  78. package/dist/src/types/monitors.js +3 -0
  79. package/dist/src/types/monitors.js.map +1 -0
  80. package/dist/src/types/platform.d.ts +435 -0
  81. package/dist/src/types/platform.d.ts.map +1 -0
  82. package/dist/src/types/platform.js +3 -0
  83. package/dist/src/types/platform.js.map +1 -0
  84. package/dist/src/utils/command-executor.d.ts +58 -0
  85. package/dist/src/utils/command-executor.d.ts.map +1 -0
  86. package/dist/src/utils/command-executor.js +321 -0
  87. package/dist/src/utils/command-executor.js.map +1 -0
  88. package/dist/test/config/test-config.d.ts +301 -0
  89. package/dist/test/config/test-config.d.ts.map +1 -0
  90. package/dist/test/config/test-config.js +235 -0
  91. package/dist/test/config/test-config.js.map +1 -0
  92. package/dist/test/platform/linux.test.d.ts +6 -0
  93. package/dist/test/platform/linux.test.d.ts.map +1 -0
  94. package/dist/test/platform/linux.test.js +307 -0
  95. package/dist/test/platform/linux.test.js.map +1 -0
  96. package/dist/test/platform/macos.test.d.ts +6 -0
  97. package/dist/test/platform/macos.test.d.ts.map +1 -0
  98. package/dist/test/platform/macos.test.js +276 -0
  99. package/dist/test/platform/macos.test.js.map +1 -0
  100. package/dist/test/platform/windows.test.d.ts +6 -0
  101. package/dist/test/platform/windows.test.d.ts.map +1 -0
  102. package/dist/test/platform/windows.test.js +320 -0
  103. package/dist/test/platform/windows.test.js.map +1 -0
  104. package/dist/test/unit/adapters/adapter-factory.test.d.ts +2 -0
  105. package/dist/test/unit/adapters/adapter-factory.test.d.ts.map +1 -0
  106. package/dist/test/unit/adapters/adapter-factory.test.js +147 -0
  107. package/dist/test/unit/adapters/adapter-factory.test.js.map +1 -0
  108. package/dist/test/unit/adapters/linux-adapter.test.d.ts +2 -0
  109. package/dist/test/unit/adapters/linux-adapter.test.d.ts.map +1 -0
  110. package/dist/test/unit/adapters/linux-adapter.test.js +191 -0
  111. package/dist/test/unit/adapters/linux-adapter.test.js.map +1 -0
  112. package/dist/test/unit/adapters/macos-adapter.test.d.ts +2 -0
  113. package/dist/test/unit/adapters/macos-adapter.test.d.ts.map +1 -0
  114. package/dist/test/unit/adapters/macos-adapter.test.js +224 -0
  115. package/dist/test/unit/adapters/macos-adapter.test.js.map +1 -0
  116. package/dist/test/unit/adapters/windows-adapter.test.d.ts +2 -0
  117. package/dist/test/unit/adapters/windows-adapter.test.d.ts.map +1 -0
  118. package/dist/test/unit/adapters/windows-adapter.test.js +41 -0
  119. package/dist/test/unit/adapters/windows-adapter.test.js.map +1 -0
  120. package/dist/test/unit/core/base-monitor.test.d.ts +2 -0
  121. package/dist/test/unit/core/base-monitor.test.d.ts.map +1 -0
  122. package/dist/test/unit/core/base-monitor.test.js +157 -0
  123. package/dist/test/unit/core/base-monitor.test.js.map +1 -0
  124. package/dist/test/unit/core/cache-manager.test.d.ts +6 -0
  125. package/dist/test/unit/core/cache-manager.test.d.ts.map +1 -0
  126. package/dist/test/unit/core/cache-manager.test.js +127 -0
  127. package/dist/test/unit/core/cache-manager.test.js.map +1 -0
  128. package/dist/test/unit/core/platform-adapter.test.d.ts +2 -0
  129. package/dist/test/unit/core/platform-adapter.test.d.ts.map +1 -0
  130. package/dist/test/unit/core/platform-adapter.test.js +186 -0
  131. package/dist/test/unit/core/platform-adapter.test.js.map +1 -0
  132. package/dist/test/unit/index.test.d.ts +2 -0
  133. package/dist/test/unit/index.test.d.ts.map +1 -0
  134. package/dist/test/unit/index.test.js +183 -0
  135. package/dist/test/unit/index.test.js.map +1 -0
  136. package/dist/test/unit/monitors/cpu-monitor.test.d.ts +2 -0
  137. package/dist/test/unit/monitors/cpu-monitor.test.d.ts.map +1 -0
  138. package/dist/test/unit/monitors/cpu-monitor.test.js +166 -0
  139. package/dist/test/unit/monitors/cpu-monitor.test.js.map +1 -0
  140. package/dist/test/unit/monitors/disk-monitor.test.d.ts +2 -0
  141. package/dist/test/unit/monitors/disk-monitor.test.d.ts.map +1 -0
  142. package/dist/test/unit/monitors/disk-monitor.test.js +46 -0
  143. package/dist/test/unit/monitors/disk-monitor.test.js.map +1 -0
  144. package/dist/test/unit/monitors/memory-monitor.test.d.ts +2 -0
  145. package/dist/test/unit/monitors/memory-monitor.test.d.ts.map +1 -0
  146. package/dist/test/unit/monitors/memory-monitor.test.js +142 -0
  147. package/dist/test/unit/monitors/memory-monitor.test.js.map +1 -0
  148. package/dist/test/unit/monitors/network-monitor.test.d.ts +2 -0
  149. package/dist/test/unit/monitors/network-monitor.test.d.ts.map +1 -0
  150. package/dist/test/unit/monitors/network-monitor.test.js +22 -0
  151. package/dist/test/unit/monitors/network-monitor.test.js.map +1 -0
  152. package/dist/test/unit/monitors/process-monitor.test.d.ts +2 -0
  153. package/dist/test/unit/monitors/process-monitor.test.d.ts.map +1 -0
  154. package/dist/test/unit/monitors/process-monitor.test.js +165 -0
  155. package/dist/test/unit/monitors/process-monitor.test.js.map +1 -0
  156. package/dist/test/unit/monitors/system-monitor-macos.test.d.ts +2 -0
  157. package/dist/test/unit/monitors/system-monitor-macos.test.d.ts.map +1 -0
  158. package/dist/test/unit/monitors/system-monitor-macos.test.js +115 -0
  159. package/dist/test/unit/monitors/system-monitor-macos.test.js.map +1 -0
  160. package/dist/test/unit/monitors/system-monitor.test.d.ts +2 -0
  161. package/dist/test/unit/monitors/system-monitor.test.d.ts.map +1 -0
  162. package/dist/test/unit/monitors/system-monitor.test.js +70 -0
  163. package/dist/test/unit/monitors/system-monitor.test.js.map +1 -0
  164. package/dist/test/unit/types/common.test.d.ts +6 -0
  165. package/dist/test/unit/types/common.test.d.ts.map +1 -0
  166. package/dist/test/unit/types/common.test.js +139 -0
  167. package/dist/test/unit/types/common.test.js.map +1 -0
  168. package/dist/test/unit/types/config.test.d.ts +2 -0
  169. package/dist/test/unit/types/config.test.d.ts.map +1 -0
  170. package/dist/test/unit/types/config.test.js +9 -0
  171. package/dist/test/unit/types/config.test.js.map +1 -0
  172. package/dist/test/unit/types/errors.test.d.ts +6 -0
  173. package/dist/test/unit/types/errors.test.d.ts.map +1 -0
  174. package/dist/test/unit/types/errors.test.js +184 -0
  175. package/dist/test/unit/types/errors.test.js.map +1 -0
  176. package/dist/test/unit/types/index.test.d.ts +2 -0
  177. package/dist/test/unit/types/index.test.d.ts.map +1 -0
  178. package/dist/test/unit/types/index.test.js +39 -0
  179. package/dist/test/unit/types/index.test.js.map +1 -0
  180. package/dist/test/unit/types/monitors.test.d.ts +2 -0
  181. package/dist/test/unit/types/monitors.test.d.ts.map +1 -0
  182. package/dist/test/unit/types/monitors.test.js +9 -0
  183. package/dist/test/unit/types/monitors.test.js.map +1 -0
  184. package/dist/test/unit/types/platform.test.d.ts +2 -0
  185. package/dist/test/unit/types/platform.test.d.ts.map +1 -0
  186. package/dist/test/unit/types/platform.test.js +9 -0
  187. package/dist/test/unit/types/platform.test.js.map +1 -0
  188. package/dist/test/unit/utils/command-executor.test.d.ts +6 -0
  189. package/dist/test/unit/utils/command-executor.test.d.ts.map +1 -0
  190. package/dist/test/unit/utils/command-executor.test.js +153 -0
  191. package/dist/test/unit/utils/command-executor.test.js.map +1 -0
  192. package/dist/test/unit/utils/platform-specific.test.d.ts +2 -0
  193. package/dist/test/unit/utils/platform-specific.test.d.ts.map +1 -0
  194. package/dist/test/unit/utils/platform-specific.test.js +32 -0
  195. package/dist/test/unit/utils/platform-specific.test.js.map +1 -0
  196. package/dist/test/utils/platform-specific.d.ts +139 -0
  197. package/dist/test/utils/platform-specific.d.ts.map +1 -0
  198. package/dist/test/utils/platform-specific.js +306 -0
  199. package/dist/test/utils/platform-specific.js.map +1 -0
  200. package/dist/test/utils/test-base.d.ts +157 -0
  201. package/dist/test/utils/test-base.d.ts.map +1 -0
  202. package/dist/test/utils/test-base.js +316 -0
  203. package/dist/test/utils/test-base.js.map +1 -0
  204. package/package.json +78 -18
  205. package/.travis.yml +0 -7
  206. package/index.js +0 -17
  207. package/lib/bucket.js +0 -14
  208. package/lib/cpu.js +0 -94
  209. package/lib/drive.js +0 -113
  210. package/lib/exec.js +0 -28
  211. package/lib/mem.js +0 -176
  212. package/lib/netstat.js +0 -182
  213. package/lib/openfiles.js +0 -25
  214. package/lib/os.js +0 -148
  215. package/lib/osCmd.js +0 -20
  216. package/lib/proc.js +0 -38
  217. package/lib/users.js +0 -18
  218. package/test/test.js +0 -55
  219. package/util/co.js +0 -237
  220. 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=config.js.map
@@ -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