hono-status-monitor 1.0.0 → 1.0.1

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 CHANGED
@@ -5,7 +5,8 @@
5
5
 
6
6
  Real-time server monitoring dashboard for **Hono.js** applications with WebSocket updates. Express-status-monitor style metrics powered by Socket.io.
7
7
 
8
- ![Status Monitor Dashboard](https://via.placeholder.com/800x450/1a1a1a/fff?text=Status+Monitor+Dashboard)
8
+ <img width="403" height="736" alt="Screenshot 2026-01-01 at 11 58 25 AM" src="https://github.com/user-attachments/assets/f793b5f0-a10e-4699-98ab-b4708703d024" />
9
+
9
10
 
10
11
  ## ✨ Features
11
12
 
@@ -111,7 +112,10 @@ const monitor = statusMonitor({
111
112
  return path
112
113
  .replace(/\/users\/\d+/g, '/users/:id')
113
114
  .replace(/\/posts\/[a-f0-9]{24}/g, '/posts/:id');
114
- }
115
+ },
116
+
117
+ // Enable cluster mode for PM2 (auto-detected by default)
118
+ clusterMode: true
115
119
  });
116
120
  ```
117
121
 
@@ -281,6 +285,67 @@ const monitor = statusMonitor({
281
285
  });
282
286
  ```
283
287
 
288
+ ### PM2 / Cluster Mode Support
289
+
290
+ To enable metrics aggregation across multiple processes (Cluster Mode), you need a specific entry point script that handles message relaying between workers.
291
+
292
+ 1. **Create a `cluster.ts` (or `.js`) entry file:**
293
+
294
+ ```typescript
295
+ import cluster from 'node:cluster';
296
+ import * as os from 'node:os';
297
+ import { dirname } from 'node:path';
298
+ import { fileURLToPath } from 'node:url';
299
+
300
+ const __dirname = dirname(fileURLToPath(import.meta.url));
301
+ const numCPUs = os.cpus().length;
302
+
303
+ if (cluster.isPrimary) {
304
+ console.log(`Primary ${process.pid} is running`);
305
+
306
+ // Fork workers
307
+ for (let i = 0; i < numCPUs; i++) {
308
+ const worker = cluster.fork();
309
+
310
+ // Relay messages between workers
311
+ worker.on('message', (message) => {
312
+ if (message?.type === 'worker-metrics') {
313
+ // Broadcast to all workers (including sender)
314
+ for (const id in cluster.workers) {
315
+ cluster.workers[id]?.send(message);
316
+ }
317
+ }
318
+ });
319
+ }
320
+
321
+ cluster.on('exit', (worker) => {
322
+ console.log(`worker ${worker.process.pid} died`);
323
+ // Replace dead worker
324
+ const newWorker = cluster.fork();
325
+ newWorker.on('message', (message) => {
326
+ if (message?.type === 'worker-metrics') {
327
+ for (const id in cluster.workers) {
328
+ cluster.workers[id]?.send(message);
329
+ }
330
+ }
331
+ });
332
+ });
333
+ } else {
334
+ // Workers share the TCP connection in this file
335
+ await import('./index'); // Path to your main app file
336
+ }
337
+ ```
338
+
339
+ 2. **Run this cluster script with PM2:**
340
+
341
+ ```bash
342
+ # Start the cluster script as a SINGLE PM2 instance
343
+ # (The script itself manages the worker processes)
344
+ pm2 start cluster.ts --name my-app
345
+ ```
346
+
347
+ **Note:** Do NOT use `pm2 start app.ts -i max` directly, as PM2's default isolation prevents workers from sharing metrics without an external adapter (like Redis). Using the script above provides a zero-dependency aggregation solution.
348
+
284
349
  ## 🛡️ Security Considerations
285
350
 
286
351
  The status dashboard exposes server metrics. Consider:
@@ -0,0 +1,29 @@
1
+ import type { MetricsSnapshot, ChartData, WorkerInfo, WorkerMetricsMessage } from './types.js';
2
+ /**
3
+ * Check if running in cluster mode (PM2 or native Node.js cluster)
4
+ */
5
+ export declare function isClusterWorker(): boolean;
6
+ /**
7
+ * Check if this is the primary/master process
8
+ */
9
+ export declare function isClusterMaster(): boolean;
10
+ /**
11
+ * Get worker ID
12
+ */
13
+ export declare function getWorkerId(): number;
14
+ /**
15
+ * Send metrics from worker to parent process (for PM2 cluster mode)
16
+ */
17
+ export declare function sendMetricsToMaster(metrics: Partial<MetricsSnapshot>, charts: ChartData): void;
18
+ /**
19
+ * Create a cluster aggregator for the master process
20
+ */
21
+ export declare function createClusterAggregator(): {
22
+ updateWorkerMetrics: (message: WorkerMetricsMessage) => void;
23
+ getWorkerInfo: () => WorkerInfo[];
24
+ aggregateMetrics: (baseSnapshot: MetricsSnapshot) => MetricsSnapshot;
25
+ aggregateCharts: (baseCharts: ChartData) => ChartData;
26
+ readonly workerCount: number;
27
+ };
28
+ export type ClusterAggregator = ReturnType<typeof createClusterAggregator>;
29
+ //# sourceMappingURL=cluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../src/cluster.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACR,eAAe,EACf,SAAS,EACT,UAAU,EACV,oBAAoB,EAIvB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAUpC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,MAAM,EAAE,SAAS,GAClB,IAAI,CAgBN;AAcD;;GAEG;AACH,wBAAgB,uBAAuB;mCAOG,oBAAoB,KAAG,IAAI;yBAwBvC,UAAU,EAAE;qCAeE,eAAe,KAAG,eAAe;kCAsHpC,SAAS,KAAG,SAAS;;EAsE7D;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,256 @@
1
+ // =============================================================================
2
+ // HONO STATUS MONITOR - CLUSTER UTILITIES
3
+ // PM2 / Node.js Cluster mode support for metrics aggregation
4
+ // =============================================================================
5
+ import cluster from 'cluster';
6
+ /**
7
+ * Check if running in cluster mode (PM2 or native Node.js cluster)
8
+ */
9
+ export function isClusterWorker() {
10
+ return cluster.isWorker || !!process.env.PM2_HOME || !!process.env.NODE_APP_INSTANCE;
11
+ }
12
+ /**
13
+ * Check if this is the primary/master process
14
+ */
15
+ export function isClusterMaster() {
16
+ return cluster.isPrimary || cluster.isMaster;
17
+ }
18
+ /**
19
+ * Get worker ID
20
+ */
21
+ export function getWorkerId() {
22
+ if (cluster.worker) {
23
+ return cluster.worker.id;
24
+ }
25
+ // PM2 instance ID
26
+ const instanceId = process.env.NODE_APP_INSTANCE;
27
+ if (instanceId) {
28
+ return parseInt(instanceId, 10);
29
+ }
30
+ return 0;
31
+ }
32
+ /**
33
+ * Send metrics from worker to parent process (for PM2 cluster mode)
34
+ */
35
+ export function sendMetricsToMaster(metrics, charts) {
36
+ if (!process.send)
37
+ return;
38
+ const message = {
39
+ type: 'worker-metrics',
40
+ workerId: getWorkerId(),
41
+ pid: process.pid,
42
+ metrics,
43
+ charts
44
+ };
45
+ try {
46
+ process.send(message);
47
+ }
48
+ catch (error) {
49
+ // Silently ignore send errors (master may have died)
50
+ }
51
+ }
52
+ /**
53
+ * Create a cluster aggregator for the master process
54
+ */
55
+ export function createClusterAggregator() {
56
+ const workerMetrics = {};
57
+ const WORKER_TIMEOUT_MS = 10000; // Consider worker dead after 10s no update
58
+ /**
59
+ * Update metrics from a worker
60
+ */
61
+ function updateWorkerMetrics(message) {
62
+ workerMetrics[message.workerId] = {
63
+ pid: message.pid,
64
+ metrics: message.metrics,
65
+ charts: message.charts,
66
+ lastUpdate: Date.now()
67
+ };
68
+ }
69
+ /**
70
+ * Clean up stale workers
71
+ */
72
+ function cleanupStaleWorkers() {
73
+ const now = Date.now();
74
+ for (const workerId of Object.keys(workerMetrics)) {
75
+ if (now - workerMetrics[parseInt(workerId)].lastUpdate > WORKER_TIMEOUT_MS) {
76
+ delete workerMetrics[parseInt(workerId)];
77
+ }
78
+ }
79
+ }
80
+ /**
81
+ * Get all active worker info
82
+ */
83
+ function getWorkerInfo() {
84
+ cleanupStaleWorkers();
85
+ return Object.values(workerMetrics).map(w => ({
86
+ pid: w.pid,
87
+ cpu: w.metrics.cpu || 0,
88
+ memoryMB: w.metrics.memoryMB || 0,
89
+ rps: w.metrics.rps || 0,
90
+ totalRequests: w.metrics.totalRequests || 0,
91
+ responseTime: w.metrics.responseTime || 0
92
+ }));
93
+ }
94
+ /**
95
+ * Aggregate metrics from all workers
96
+ */
97
+ function aggregateMetrics(baseSnapshot) {
98
+ cleanupStaleWorkers();
99
+ const workers = Object.values(workerMetrics);
100
+ if (workers.length === 0) {
101
+ return baseSnapshot;
102
+ }
103
+ // Sum metrics that should be totaled across workers
104
+ let totalRps = 0;
105
+ let totalRequests = 0;
106
+ let totalActiveConnections = 0;
107
+ let totalErrorRate = 0;
108
+ // Average metrics that should be averaged
109
+ let totalCpu = 0;
110
+ let totalResponseTime = 0;
111
+ let workerCount = 0;
112
+ // Aggregate status codes
113
+ const aggregatedStatusCodes = {};
114
+ // Aggregate rate limit stats
115
+ let totalRateLimitBlocked = 0;
116
+ let totalRateLimitTotal = 0;
117
+ // Aggregate routes
118
+ const routeMap = new Map();
119
+ for (const worker of workers) {
120
+ const m = worker.metrics;
121
+ workerCount++;
122
+ // Sum
123
+ totalRps += m.rps || 0;
124
+ totalRequests += m.totalRequests || 0;
125
+ totalActiveConnections += m.activeConnections || 0;
126
+ // For averaging
127
+ totalCpu += m.cpu || 0;
128
+ totalResponseTime += m.responseTime || 0;
129
+ totalErrorRate += m.errorRate || 0;
130
+ // Aggregate status codes
131
+ if (m.statusCodes) {
132
+ for (const [code, count] of Object.entries(m.statusCodes)) {
133
+ aggregatedStatusCodes[code] = (aggregatedStatusCodes[code] || 0) + count;
134
+ }
135
+ }
136
+ // Aggregate rate limit stats
137
+ if (m.rateLimitStats) {
138
+ totalRateLimitBlocked += m.rateLimitStats.blocked || 0;
139
+ totalRateLimitTotal += m.rateLimitStats.total || 0;
140
+ }
141
+ // Aggregate routes
142
+ const allRoutes = [
143
+ ...(m.topRoutes || []),
144
+ ...(m.slowestRoutes || []),
145
+ ...(m.errorRoutes || [])
146
+ ];
147
+ for (const route of allRoutes) {
148
+ const key = `${route.method}:${route.path}`;
149
+ const existing = routeMap.get(key);
150
+ if (existing) {
151
+ existing.count += route.count;
152
+ existing.totalTime += route.totalTime;
153
+ existing.avgTime = existing.totalTime / existing.count;
154
+ existing.minTime = Math.min(existing.minTime, route.minTime);
155
+ existing.maxTime = Math.max(existing.maxTime, route.maxTime);
156
+ existing.errors += route.errors;
157
+ existing.lastAccess = Math.max(existing.lastAccess, route.lastAccess);
158
+ }
159
+ else {
160
+ routeMap.set(key, { ...route });
161
+ }
162
+ }
163
+ }
164
+ // Calculate averages
165
+ const avgCpu = workerCount > 0 ? totalCpu / workerCount : baseSnapshot.cpu;
166
+ const avgResponseTime = workerCount > 0 ? totalResponseTime / workerCount : baseSnapshot.responseTime;
167
+ const avgErrorRate = workerCount > 0 ? totalErrorRate / workerCount : baseSnapshot.errorRate;
168
+ // Get aggregated routes
169
+ const allRoutes = Array.from(routeMap.values());
170
+ const topRoutes = allRoutes.sort((a, b) => b.count - a.count).slice(0, 10);
171
+ const slowestRoutes = allRoutes.filter(r => r.count > 0).sort((a, b) => b.avgTime - a.avgTime).slice(0, 10);
172
+ const errorRoutes = allRoutes.filter(r => r.errors > 0).sort((a, b) => b.errors - a.errors).slice(0, 10);
173
+ return {
174
+ ...baseSnapshot,
175
+ cpu: Math.round(avgCpu * 10) / 10,
176
+ responseTime: Math.round(avgResponseTime * 100) / 100,
177
+ rps: totalRps,
178
+ totalRequests,
179
+ activeConnections: totalActiveConnections,
180
+ errorRate: Math.round(avgErrorRate * 100) / 100,
181
+ statusCodes: Object.keys(aggregatedStatusCodes).length > 0
182
+ ? aggregatedStatusCodes
183
+ : baseSnapshot.statusCodes,
184
+ rateLimitStats: {
185
+ blocked: totalRateLimitBlocked,
186
+ total: totalRateLimitTotal
187
+ },
188
+ topRoutes,
189
+ slowestRoutes,
190
+ errorRoutes,
191
+ workers: getWorkerInfo(),
192
+ workerCount
193
+ };
194
+ }
195
+ /**
196
+ * Aggregate chart data from all workers
197
+ */
198
+ function aggregateCharts(baseCharts) {
199
+ cleanupStaleWorkers();
200
+ const workers = Object.values(workerMetrics);
201
+ if (workers.length === 0) {
202
+ return baseCharts;
203
+ }
204
+ // For charts, we need to merge data points by timestamp
205
+ const mergeChartData = (base, workerCharts, key, aggregationType) => {
206
+ const timeMap = new Map();
207
+ // Add base data
208
+ for (const point of base) {
209
+ timeMap.set(point.timestamp, { sum: point.value, count: 1 });
210
+ }
211
+ // Add worker data
212
+ for (const wc of workerCharts) {
213
+ const data = wc[key];
214
+ for (const point of data) {
215
+ const existing = timeMap.get(point.timestamp);
216
+ if (existing) {
217
+ existing.sum += point.value;
218
+ existing.count++;
219
+ }
220
+ else {
221
+ timeMap.set(point.timestamp, { sum: point.value, count: 1 });
222
+ }
223
+ }
224
+ }
225
+ // Convert back to array
226
+ const result = [];
227
+ for (const [timestamp, { sum, count }] of timeMap.entries()) {
228
+ const value = aggregationType === 'sum' ? sum : sum / count;
229
+ result.push({ timestamp, value: Math.round(value * 100) / 100 });
230
+ }
231
+ return result.sort((a, b) => a.timestamp - b.timestamp);
232
+ };
233
+ const workerCharts = workers.map(w => w.charts);
234
+ return {
235
+ cpu: mergeChartData(baseCharts.cpu, workerCharts, 'cpu', 'avg'),
236
+ memory: mergeChartData(baseCharts.memory, workerCharts, 'memory', 'avg'),
237
+ heap: mergeChartData(baseCharts.heap, workerCharts, 'heap', 'avg'),
238
+ loadAvg: mergeChartData(baseCharts.loadAvg, workerCharts, 'loadAvg', 'avg'),
239
+ responseTime: mergeChartData(baseCharts.responseTime, workerCharts, 'responseTime', 'avg'),
240
+ rps: mergeChartData(baseCharts.rps, workerCharts, 'rps', 'sum'),
241
+ eventLoopLag: mergeChartData(baseCharts.eventLoopLag, workerCharts, 'eventLoopLag', 'avg'),
242
+ errorRate: mergeChartData(baseCharts.errorRate, workerCharts, 'errorRate', 'avg')
243
+ };
244
+ }
245
+ return {
246
+ updateWorkerMetrics,
247
+ getWorkerInfo,
248
+ aggregateMetrics,
249
+ aggregateCharts,
250
+ get workerCount() {
251
+ cleanupStaleWorkers();
252
+ return Object.keys(workerMetrics).length;
253
+ }
254
+ };
255
+ }
256
+ //# sourceMappingURL=cluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../src/cluster.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './types.js';
5
5
  export { createMonitor, type Monitor } from './monitor.js';
6
6
  export { createMiddleware } from './middleware.js';
7
7
  export { generateDashboard } from './dashboard.js';
8
+ export { isClusterWorker, isClusterMaster, getWorkerId, createClusterAggregator } from './cluster.js';
8
9
  /**
9
10
  * Create a complete status monitor with routes, middleware, and WebSocket
10
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAIjD,OAAO,KAAK,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAC;AAGzE,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,mBAAwB;IAkCtD,gDAAgD;;IAEhD,uDAAuD;;IAEvD,oEAAoE;yBAC/C,UAAU;IAC/B,gDAAgD;8BACtB,OAAO;IACjC,mCAAmC;;IAEnC,qCAAqC;;IAErC,8BAA8B;;IAE9B,gDAAgD;;;;;;;;;;;;;;EAGvD;AAGD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAIjD,OAAO,KAAK,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAC;AAGzE,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACH,eAAe,EACf,eAAe,EACf,WAAW,EACX,uBAAuB,EAC1B,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,mBAAwB;IAkCtD,gDAAgD;;IAEhD,uDAAuD;;IAEvD,oEAAoE;yBAC/C,UAAU;IAC/B,gDAAgD;8BACtB,OAAO;IACjC,mCAAmC;;IAEnC,qCAAqC;;IAErC,8BAA8B;;IAE9B,gDAAgD;;;;;;;;;;;;;;EAGvD;AAGD,eAAe,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ export * from './types.js';
11
11
  export { createMonitor } from './monitor.js';
12
12
  export { createMiddleware } from './middleware.js';
13
13
  export { generateDashboard } from './dashboard.js';
14
+ export { isClusterWorker, isClusterMaster, getWorkerId, createClusterAggregator } from './cluster.js';
14
15
  /**
15
16
  * Create a complete status monitor with routes, middleware, and WebSocket
16
17
  *
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,sBAAsB;AACtB,2EAA2E;AAC3E,gFAAgF;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,aAAa,CAAC,SAA8B,EAAE;IAC1D,0BAA0B;IAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtC,oBAAoB;IACpB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,qBAAqB;IACrB,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAE1B,iBAAiB;IACjB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,iBAAiB,CAAC;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;YACrC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SAC9B,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,MAAM,OAAO,CAAC,kBAAkB,EAAE;YAC5C,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE;SACjC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,OAAO;QACH,gDAAgD;QAChD,UAAU;QACV,uDAAuD;QACvD,MAAM;QACN,oEAAoE;QACpE,UAAU,EAAE,CAAC,MAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAC9D,gDAAgD;QAChD,cAAc,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAC1E,mCAAmC;QACnC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE;QAC9C,qCAAqC;QACrC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE;QACvC,8BAA8B;QAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;QAC1B,gDAAgD;QAChD,OAAO;KACV,CAAC;AACN,CAAC;AAED,iBAAiB;AACjB,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,sBAAsB;AACtB,2EAA2E;AAC3E,gFAAgF;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACH,eAAe,EACf,eAAe,EACf,WAAW,EACX,uBAAuB,EAC1B,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,aAAa,CAAC,SAA8B,EAAE;IAC1D,0BAA0B;IAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtC,oBAAoB;IACpB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,qBAAqB;IACrB,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAE1B,iBAAiB;IACjB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,iBAAiB,CAAC;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU;YACrC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SAC9B,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,MAAM,OAAO,CAAC,kBAAkB,EAAE;YAC5C,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE;SACjC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,OAAO;QACH,gDAAgD;QAChD,UAAU;QACV,uDAAuD;QACvD,MAAM;QACN,oEAAoE;QACpE,UAAU,EAAE,CAAC,MAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAC9D,gDAAgD;QAChD,cAAc,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAC1E,mCAAmC;QACnC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE;QAC9C,qCAAqC;QACrC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE;QACvC,8BAA8B;QAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;QAC1B,gDAAgD;QAChD,OAAO;KACV,CAAC;AACN,CAAC;AAED,iBAAiB;AACjB,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EACR,mBAAmB,EAQnB,aAAa,EACb,eAAe,EACf,SAAS,EACZ,MAAM,YAAY,CAAC;AAsCpB;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,GAAE,mBAAwB;;yBAyYlC,MAAM,UAAU,MAAM,KAAG,IAAI;iCA2B/C,MAAM,UACJ,MAAM,cACF,MAAM,cACN,MAAM,KACnB,IAAI;mCAiD+B,OAAO,KAAG,IAAI;mCAnJR,aAAa,KAAG,OAAO,CAAC,eAAe,CAAC;wBAmD3D,SAAS;iBAwGhB,IAAI;gBAWL,IAAI;yBAWO,UAAU,KAAG,YAAY;4BAuBtB,MAAM,KAAG,MAAM;;EA4BjD;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EACR,mBAAmB,EAQnB,aAAa,EACb,eAAe,EACf,SAAS,EAEZ,MAAM,YAAY,CAAC;AA8CpB;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,GAAE,mBAAwB;;yBA8ZlC,MAAM,UAAU,MAAM,KAAG,IAAI;iCA2B/C,MAAM,UACJ,MAAM,cACF,MAAM,cACN,MAAM,KACnB,IAAI;mCAiD+B,OAAO,KAAG,IAAI;mCAnJR,aAAa,KAAG,OAAO,CAAC,eAAe,CAAC;wBAmD3D,SAAS;iBAwGhB,IAAI;gBAWL,IAAI;yBAWO,UAAU,KAAG,YAAY;4BAwCtB,MAAM,KAAG,MAAM;;EA4BjD;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
package/dist/monitor.js CHANGED
@@ -4,6 +4,7 @@
4
4
  // =============================================================================
5
5
  import * as os from 'os';
6
6
  import { Server as SocketServer } from 'socket.io';
7
+ import { isClusterWorker, sendMetricsToMaster, createClusterAggregator } from './cluster.js';
7
8
  // Default configuration
8
9
  const DEFAULT_CONFIG = {
9
10
  path: '/status',
@@ -21,7 +22,8 @@ const DEFAULT_CONFIG = {
21
22
  eventLoopLag: 100
22
23
  },
23
24
  healthCheck: async () => ({ connected: true, latencyMs: 0 }),
24
- normalizePath: (path) => path
25
+ normalizePath: (path) => path,
26
+ clusterMode: undefined // Will be auto-detected
25
27
  };
26
28
  /**
27
29
  * Default path normalization function
@@ -42,13 +44,18 @@ function defaultNormalizePath(path) {
42
44
  * Create a status monitor instance
43
45
  */
44
46
  export function createMonitor(userConfig = {}) {
47
+ // Detect cluster mode: user config > auto-detect
48
+ const inClusterMode = userConfig.clusterMode ?? isClusterWorker();
45
49
  // Merge configuration
46
50
  const config = {
47
51
  ...DEFAULT_CONFIG,
48
52
  ...userConfig,
49
53
  alerts: { ...DEFAULT_CONFIG.alerts, ...userConfig.alerts },
50
- normalizePath: userConfig.normalizePath || defaultNormalizePath
54
+ normalizePath: userConfig.normalizePath || defaultNormalizePath,
55
+ clusterMode: inClusterMode
51
56
  };
57
+ // Create cluster aggregator for collecting metrics from workers
58
+ const clusterAggregator = inClusterMode ? createClusterAggregator() : null;
52
59
  // In-memory metrics storage
53
60
  let cpuHistory = [];
54
61
  let memoryHistory = [];
@@ -307,13 +314,24 @@ export function createMonitor(userConfig = {}) {
307
314
  if (responseTimeSamples.length > 1000) {
308
315
  responseTimeSamples = responseTimeSamples.slice(-500);
309
316
  }
310
- // Broadcast to connected clients
317
+ // In cluster mode, send metrics to master for aggregation
318
+ if (config.clusterMode && process.send) {
319
+ const dbStats = await getDatabaseStats();
320
+ const snapshot = await getMetricsSnapshot(dbStats);
321
+ const charts = getChartData();
322
+ sendMetricsToMaster(snapshot, charts);
323
+ }
324
+ // Broadcast to connected clients (only if we have socket.io - typically only in master)
311
325
  if (io) {
312
326
  const dbStats = await getDatabaseStats();
313
- io.emit('metrics', {
314
- snapshot: await getMetricsSnapshot(dbStats),
315
- charts: getChartData()
316
- });
327
+ let snapshot = await getMetricsSnapshot(dbStats);
328
+ let charts = getChartData();
329
+ // If we have a cluster aggregator, use aggregated data
330
+ if (clusterAggregator && clusterAggregator.workerCount > 0) {
331
+ snapshot = clusterAggregator.aggregateMetrics(snapshot);
332
+ charts = clusterAggregator.aggregateCharts(charts);
333
+ }
334
+ io.emit('metrics', { snapshot, charts });
317
335
  }
318
336
  }
319
337
  /**
@@ -489,7 +507,22 @@ export function createMonitor(userConfig = {}) {
489
507
  console.log('📊 Status monitor client disconnected');
490
508
  });
491
509
  });
492
- console.log('📊 Status monitor WebSocket initialized');
510
+ // Set up IPC message handler for cluster mode
511
+ if (config.clusterMode && clusterAggregator) {
512
+ process.on('message', (message) => {
513
+ // Handle worker metrics messages
514
+ if (message &&
515
+ typeof message === 'object' &&
516
+ 'type' in message &&
517
+ message.type === 'worker-metrics') {
518
+ clusterAggregator.updateWorkerMetrics(message);
519
+ }
520
+ });
521
+ console.log('📊 Status monitor WebSocket initialized (cluster mode - aggregating workers)');
522
+ }
523
+ else {
524
+ console.log('📊 Status monitor WebSocket initialized');
525
+ }
493
526
  return io;
494
527
  }
495
528
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -23,6 +23,8 @@ export interface StatusMonitorConfig {
23
23
  healthCheck?: () => Promise<HealthCheckResult>;
24
24
  /** Custom path normalization function */
25
25
  normalizePath?: (path: string) => string;
26
+ /** Enable cluster mode for PM2/multi-process aggregation (auto-detected if not set) */
27
+ clusterMode?: boolean;
26
28
  }
27
29
  /**
28
30
  * Alert thresholds configuration
@@ -160,6 +162,31 @@ export interface MetricsSnapshot {
160
162
  total: number;
161
163
  };
162
164
  errorRate: number;
165
+ /** Worker info for cluster mode */
166
+ workers?: WorkerInfo[];
167
+ /** Number of workers in cluster mode */
168
+ workerCount?: number;
169
+ }
170
+ /**
171
+ * Worker info for cluster mode
172
+ */
173
+ export interface WorkerInfo {
174
+ pid: number;
175
+ cpu: number;
176
+ memoryMB: number;
177
+ rps: number;
178
+ totalRequests: number;
179
+ responseTime: number;
180
+ }
181
+ /**
182
+ * IPC message from worker to master
183
+ */
184
+ export interface WorkerMetricsMessage {
185
+ type: 'worker-metrics';
186
+ workerId: number;
187
+ pid: number;
188
+ metrics: Partial<MetricsSnapshot>;
189
+ charts: ChartData;
163
190
  }
164
191
  /**
165
192
  * Chart data for all metrics
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,yCAAyC;IACzC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,eAAe,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,MAAM,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,GAAG,EAAE,eAAe,EAAE,CAAC;IACvB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,GAAG,EAAE,eAAe,EAAE,CAAC;IACvB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,SAAS,EAAE,eAAe,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,4CAA4C;IAC5C,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,kCAAkC;IAClC,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,YAAY,CAAC;IAC1C,mCAAmC;IACnC,UAAU,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3C,qBAAqB;IACrB,SAAS,EAAE,MAAM,SAAS,CAAC;IAC3B,+BAA+B;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,+BAA+B;IAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,yBAAyB;IACzB,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,oBAAoB;IACpB,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;CACzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hono-status-monitor",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Real-time server monitoring dashboard for Hono.js with WebSocket updates. Express-status-monitor style metrics with Socket.io.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,7 +11,8 @@
11
11
  "scripts": {
12
12
  "build": "tsc",
13
13
  "prepublishOnly": "npm run build",
14
- "clean": "rm -rf dist"
14
+ "clean": "rm -rf dist",
15
+ "test": "vitest run"
15
16
  },
16
17
  "keywords": [
17
18
  "hono",
@@ -39,17 +40,18 @@
39
40
  "url": "https://github.com/vinitkumargoel/hono-status-monitor/issues"
40
41
  },
41
42
  "peerDependencies": {
42
- "hono": ">=4.0.0",
43
- "@hono/node-server": ">=1.0.0"
43
+ "@hono/node-server": ">=1.0.0",
44
+ "hono": ">=4.0.0"
44
45
  },
45
46
  "dependencies": {
46
47
  "socket.io": "^4.7.0"
47
48
  },
48
49
  "devDependencies": {
50
+ "@hono/node-server": "^1.19.0",
49
51
  "@types/node": "^20.0.0",
50
52
  "hono": "^4.6.0",
51
- "@hono/node-server": "^1.19.0",
52
- "typescript": "^5.3.0"
53
+ "typescript": "^5.3.0",
54
+ "vitest": "^4.0.16"
53
55
  },
54
56
  "engines": {
55
57
  "node": ">=18.0.0"