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,315 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheManager = void 0;
4
+ /**
5
+ * 缓存管理器
6
+ *
7
+ * 负责管理监控数据的缓存,提高性能并减少系统调用
8
+ */
9
+ class CacheManager {
10
+ constructor(config = {}) {
11
+ this.cache = new Map();
12
+ this.enabled = true;
13
+ this.defaultTTL = config.defaultTTL || 5000;
14
+ this.maxSize = config.maxSize || 1000;
15
+ this.cleanupInterval = config.cleanupInterval || 30000;
16
+ this.enabled = config.enabled !== false;
17
+ this.stats = {
18
+ size: 0,
19
+ hits: 0,
20
+ misses: 0,
21
+ hitRate: 0,
22
+ memoryUsage: 0,
23
+ evictions: 0,
24
+ maxSize: this.maxSize
25
+ };
26
+ // 启动定期清理
27
+ if (this.enabled) {
28
+ this.startCleanup();
29
+ }
30
+ }
31
+ /**
32
+ * 获取缓存值
33
+ */
34
+ get(key) {
35
+ if (!this.enabled) {
36
+ this.stats.misses++;
37
+ this.updateHitRate();
38
+ return undefined;
39
+ }
40
+ const item = this.cache.get(key);
41
+ if (!item) {
42
+ this.stats.misses++;
43
+ this.updateHitRate();
44
+ return undefined;
45
+ }
46
+ // 检查是否过期
47
+ if (Date.now() > item.expiry) {
48
+ this.cache.delete(key);
49
+ this.stats.misses++;
50
+ this.stats.evictions++;
51
+ this.updateStats();
52
+ return undefined;
53
+ }
54
+ // 更新访问统计
55
+ item.accessCount++;
56
+ item.lastAccessed = Date.now();
57
+ this.stats.hits++;
58
+ this.updateHitRate();
59
+ return item.value;
60
+ }
61
+ /**
62
+ * 设置缓存值
63
+ */
64
+ set(key, value, ttl) {
65
+ if (!this.enabled) {
66
+ return;
67
+ }
68
+ const now = Date.now();
69
+ const timeToLive = ttl || this.defaultTTL;
70
+ // 检查缓存大小限制
71
+ if (this.cache.size >= this.maxSize && !this.cache.has(key)) {
72
+ this.evictLRU();
73
+ }
74
+ const item = {
75
+ value,
76
+ expiry: now + timeToLive,
77
+ created: now,
78
+ accessCount: 1,
79
+ lastAccessed: now
80
+ };
81
+ this.cache.set(key, item);
82
+ this.updateStats();
83
+ }
84
+ /**
85
+ * 删除缓存项
86
+ */
87
+ delete(key) {
88
+ const deleted = this.cache.delete(key);
89
+ if (deleted) {
90
+ this.updateStats();
91
+ }
92
+ return deleted;
93
+ }
94
+ /**
95
+ * 清空所有缓存
96
+ */
97
+ clear() {
98
+ const previousSize = this.cache.size;
99
+ this.cache.clear();
100
+ this.stats.evictions += previousSize;
101
+ this.updateStats();
102
+ }
103
+ /**
104
+ * 检查是否存在缓存项
105
+ */
106
+ has(key) {
107
+ if (!this.enabled) {
108
+ return false;
109
+ }
110
+ const item = this.cache.get(key);
111
+ if (!item) {
112
+ return false;
113
+ }
114
+ // 检查是否过期
115
+ if (Date.now() > item.expiry) {
116
+ this.cache.delete(key);
117
+ this.stats.evictions++;
118
+ this.updateStats();
119
+ return false;
120
+ }
121
+ return true;
122
+ }
123
+ /**
124
+ * 获取缓存大小
125
+ */
126
+ size() {
127
+ return this.cache.size;
128
+ }
129
+ /**
130
+ * 获取缓存统计信息
131
+ */
132
+ getStats() {
133
+ return { ...this.stats, maxSize: this.maxSize };
134
+ }
135
+ /**
136
+ * 重置统计信息
137
+ */
138
+ resetStats() {
139
+ this.stats = {
140
+ size: this.cache.size,
141
+ hits: 0,
142
+ misses: 0,
143
+ hitRate: 0,
144
+ memoryUsage: this.estimateMemoryUsage(),
145
+ evictions: 0,
146
+ maxSize: this.maxSize
147
+ };
148
+ }
149
+ /**
150
+ * 获取所有缓存键
151
+ */
152
+ keys() {
153
+ return Array.from(this.cache.keys());
154
+ }
155
+ /**
156
+ * 获取缓存项的详细信息
157
+ */
158
+ getItemInfo(key) {
159
+ const item = this.cache.get(key);
160
+ if (!item) {
161
+ return { exists: false };
162
+ }
163
+ const now = Date.now();
164
+ return {
165
+ exists: true,
166
+ created: item.created,
167
+ expiry: item.expiry,
168
+ accessCount: item.accessCount,
169
+ lastAccessed: item.lastAccessed,
170
+ ttl: Math.max(0, item.expiry - now)
171
+ };
172
+ }
173
+ /**
174
+ * 设置默认 TTL
175
+ */
176
+ setDefaultTTL(ttl) {
177
+ this.defaultTTL = ttl;
178
+ }
179
+ /**
180
+ * 获取默认 TTL
181
+ */
182
+ getDefaultTTL() {
183
+ return this.defaultTTL;
184
+ }
185
+ /**
186
+ * 启用缓存
187
+ */
188
+ enable() {
189
+ this.enabled = true;
190
+ this.startCleanup();
191
+ }
192
+ /**
193
+ * 禁用缓存
194
+ */
195
+ disable() {
196
+ this.enabled = false;
197
+ this.clear(); // 清空现有缓存
198
+ this.stopCleanup();
199
+ }
200
+ /**
201
+ * 检查缓存是否启用
202
+ */
203
+ isEnabled() {
204
+ return this.enabled;
205
+ }
206
+ /**
207
+ * 关闭缓存管理器
208
+ */
209
+ destroy() {
210
+ this.stopCleanup();
211
+ this.clear();
212
+ }
213
+ /**
214
+ * 启动定期清理
215
+ */
216
+ startCleanup() {
217
+ if (this.cleanupTimer || !this.enabled) {
218
+ return;
219
+ }
220
+ this.cleanupTimer = setInterval(() => {
221
+ this.cleanup();
222
+ }, this.cleanupInterval);
223
+ // 避免定时器阻止进程退出
224
+ if (typeof this.cleanupTimer.unref === 'function') {
225
+ this.cleanupTimer.unref();
226
+ }
227
+ }
228
+ /**
229
+ * 停止定期清理
230
+ */
231
+ stopCleanup() {
232
+ if (this.cleanupTimer) {
233
+ clearInterval(this.cleanupTimer);
234
+ this.cleanupTimer = undefined;
235
+ }
236
+ }
237
+ /**
238
+ * 清理过期项
239
+ */
240
+ cleanup() {
241
+ if (!this.enabled) {
242
+ return;
243
+ }
244
+ const now = Date.now();
245
+ const keysToDelete = [];
246
+ for (const [key, item] of this.cache) {
247
+ if (now > item.expiry) {
248
+ keysToDelete.push(key);
249
+ }
250
+ }
251
+ if (keysToDelete.length > 0) {
252
+ for (const key of keysToDelete) {
253
+ this.cache.delete(key);
254
+ }
255
+ this.stats.evictions += keysToDelete.length;
256
+ this.updateStats();
257
+ }
258
+ }
259
+ /**
260
+ * LRU 淘汰策略
261
+ */
262
+ evictLRU() {
263
+ let oldestKey = null;
264
+ let oldestTime = Number.POSITIVE_INFINITY;
265
+ for (const [key, item] of this.cache) {
266
+ if (item.lastAccessed < oldestTime) {
267
+ oldestTime = item.lastAccessed;
268
+ oldestKey = key;
269
+ }
270
+ }
271
+ if (oldestKey) {
272
+ this.cache.delete(oldestKey);
273
+ this.stats.evictions++;
274
+ this.updateStats();
275
+ }
276
+ }
277
+ /**
278
+ * 更新统计信息
279
+ */
280
+ updateStats() {
281
+ this.stats.size = this.cache.size;
282
+ this.stats.memoryUsage = this.estimateMemoryUsage();
283
+ this.updateHitRate();
284
+ }
285
+ /**
286
+ * 更新命中率
287
+ */
288
+ updateHitRate() {
289
+ const total = this.stats.hits + this.stats.misses;
290
+ this.stats.hitRate = total > 0 ? (this.stats.hits / total) * 100 : 0;
291
+ }
292
+ /**
293
+ * 估算内存使用量
294
+ */
295
+ estimateMemoryUsage() {
296
+ let size = 0;
297
+ for (const [key, item] of this.cache) {
298
+ // 粗略估算:key 长度 + value 序列化长度 + 元数据
299
+ size += key.length * 2; // UTF-16 字符
300
+ try {
301
+ const serialized = JSON.stringify(item.value);
302
+ if (typeof serialized === 'string') {
303
+ size += serialized.length * 2;
304
+ }
305
+ }
306
+ catch {
307
+ // 无法序列化时忽略该项大小
308
+ }
309
+ size += 64; // 元数据估算
310
+ }
311
+ return size;
312
+ }
313
+ }
314
+ exports.CacheManager = CacheManager;
315
+ //# sourceMappingURL=cache-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../../../src/core/cache-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ import { PlatformAdapter, CommandResult, SupportedFeatures } from '../types/platform';
2
+ import { ExecuteOptions } from '../types/config';
3
+ import { MonitorError } from '../types/errors';
4
+ /**
5
+ * 平台适配器抽象基类
6
+ *
7
+ * 为不同操作系统提供统一的接口,子类需要实现具体的平台相关逻辑
8
+ */
9
+ export declare abstract class BasePlatformAdapter implements PlatformAdapter {
10
+ protected platformName: string;
11
+ protected supportedFeatures: SupportedFeatures;
12
+ constructor(platformName: string);
13
+ /**
14
+ * 获取平台名称
15
+ */
16
+ getPlatform(): string;
17
+ /**
18
+ * 检查是否支持特定功能
19
+ */
20
+ isSupported(feature: string): boolean;
21
+ /**
22
+ * 获取支持的功能列表
23
+ */
24
+ getSupportedFeatures(): SupportedFeatures;
25
+ /**
26
+ * 执行系统命令
27
+ */
28
+ abstract executeCommand(command: string, options?: ExecuteOptions): Promise<CommandResult>;
29
+ /**
30
+ * 读取文件内容
31
+ */
32
+ abstract readFile(path: string): Promise<string>;
33
+ /**
34
+ * 检查文件是否存在
35
+ */
36
+ abstract fileExists(path: string): Promise<boolean>;
37
+ /**
38
+ * 获取 CPU 信息
39
+ */
40
+ abstract getCPUInfo(): Promise<any>;
41
+ /**
42
+ * 获取 CPU 使用率
43
+ */
44
+ abstract getCPUUsage(): Promise<any>;
45
+ /**
46
+ * 获取 CPU 温度
47
+ */
48
+ abstract getCPUTemperature(): Promise<any>;
49
+ /**
50
+ * 获取内存信息
51
+ */
52
+ abstract getMemoryInfo(): Promise<any>;
53
+ /**
54
+ * 获取内存使用情况
55
+ */
56
+ abstract getMemoryUsage(): Promise<any>;
57
+ /**
58
+ * 获取磁盘信息
59
+ */
60
+ abstract getDiskInfo(): Promise<any>;
61
+ /**
62
+ * 获取磁盘 I/O 统计
63
+ */
64
+ abstract getDiskIO(): Promise<any>;
65
+ /**
66
+ * 获取网络接口列表
67
+ */
68
+ abstract getNetworkInterfaces(): Promise<any>;
69
+ /**
70
+ * 获取网络统计信息
71
+ */
72
+ abstract getNetworkStats(): Promise<any>;
73
+ /**
74
+ * 获取进程列表
75
+ */
76
+ abstract getProcesses(): Promise<any>;
77
+ /**
78
+ * 获取特定进程信息
79
+ */
80
+ abstract getProcessInfo(pid: number): Promise<any>;
81
+ /**
82
+ * 获取系统信息
83
+ */
84
+ abstract getSystemInfo(): Promise<any>;
85
+ /**
86
+ * 获取系统负载
87
+ */
88
+ abstract getSystemLoad(): Promise<any>;
89
+ /**
90
+ * 获取磁盘使用情况
91
+ */
92
+ abstract getDiskUsage(): Promise<any>;
93
+ /**
94
+ * 获取磁盘统计
95
+ */
96
+ abstract getDiskStats(): Promise<any>;
97
+ /**
98
+ * 获取挂载点
99
+ */
100
+ abstract getMounts(): Promise<any>;
101
+ /**
102
+ * 获取文件系统
103
+ */
104
+ abstract getFileSystems(): Promise<any>;
105
+ /**
106
+ * 获取网络连接
107
+ */
108
+ abstract getNetworkConnections(): Promise<any>;
109
+ /**
110
+ * 获取默认网关
111
+ */
112
+ abstract getDefaultGateway(): Promise<any>;
113
+ /**
114
+ * 获取进程列表
115
+ */
116
+ abstract getProcessList(): Promise<any>;
117
+ /**
118
+ * 杀死进程
119
+ */
120
+ abstract killProcess(pid: number, signal?: string): Promise<boolean>;
121
+ /**
122
+ * 获取进程打开文件
123
+ */
124
+ abstract getProcessOpenFiles(pid: number): Promise<string[]>;
125
+ /**
126
+ * 获取进程环境变量
127
+ */
128
+ abstract getProcessEnvironment(pid: number): Promise<Record<string, string>>;
129
+ /**
130
+ * 获取系统运行时间
131
+ */
132
+ abstract getSystemUptime(): Promise<any>;
133
+ /**
134
+ * 获取系统用户
135
+ */
136
+ abstract getSystemUsers(): Promise<any>;
137
+ /**
138
+ * 获取系统服务
139
+ */
140
+ abstract getSystemServices(): Promise<any>;
141
+ /**
142
+ * 安全执行命令
143
+ */
144
+ protected safeExecute(command: string, options?: ExecuteOptions): Promise<CommandResult>;
145
+ /**
146
+ * 创建不支持功能的错误
147
+ */
148
+ protected createUnsupportedError(feature: string): MonitorError;
149
+ /**
150
+ * 创建命令执行失败错误
151
+ */
152
+ protected createCommandError(command: string, details?: any): MonitorError;
153
+ /**
154
+ * 创建解析错误
155
+ */
156
+ protected createParseError(data: string, reason?: string): MonitorError;
157
+ /**
158
+ * 验证命令执行结果
159
+ */
160
+ protected validateCommandResult(result: CommandResult, command: string): void;
161
+ /**
162
+ * 安全解析 JSON
163
+ */
164
+ protected safeParseJSON(data: string, fallback?: any): any;
165
+ /**
166
+ * 安全解析数字
167
+ */
168
+ protected safeParseNumber(value: string | number, fallback?: number): number;
169
+ /**
170
+ * 安全解析整数
171
+ */
172
+ protected safeParseInt(value: string | number, fallback?: number, radix?: number): number;
173
+ /**
174
+ * 解析键值对格式的输出
175
+ */
176
+ protected parseKeyValueOutput(output: string, separator?: string): Record<string, string>;
177
+ /**
178
+ * 解析表格格式的输出
179
+ */
180
+ protected parseTableOutput(output: string, hasHeader?: boolean): Record<string, string>[];
181
+ /**
182
+ * 分割表格行
183
+ */
184
+ protected splitTableRow(row: string): string[];
185
+ /**
186
+ * 字节单位转换
187
+ */
188
+ /**
189
+ * 将带单位的容量统一换算为字节,支持 SI 与二进制后缀
190
+ */
191
+ protected convertToBytes(value: string | number, unit?: string): number;
192
+ /**
193
+ * 初始化支持的功能 - 子类可以重写
194
+ */
195
+ protected abstract initializeSupportedFeatures(): SupportedFeatures;
196
+ }
197
+ //# sourceMappingURL=platform-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-adapter.d.ts","sourceRoot":"","sources":["../../../src/core/platform-adapter.ts"],"names":[],"mappings":"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"}