xypriss 2.0.0 → 2.1.0

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 (185) hide show
  1. package/README.md +170 -380
  2. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +10 -0
  3. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  4. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +10 -0
  5. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  6. package/dist/cjs/mods/security/src/components/cache/index.js +10 -2
  7. package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
  8. package/dist/cjs/mods/security/src/components/fortified-function/index.js +9 -0
  9. package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -1
  10. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
  11. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  12. package/dist/cjs/mods/security/src/core/crypto.js +14 -0
  13. package/dist/cjs/mods/security/src/core/crypto.js.map +1 -1
  14. package/dist/cjs/mods/security/src/index.js +10 -1
  15. package/dist/cjs/mods/security/src/index.js.map +1 -1
  16. package/dist/cjs/shared/logger/Logger.js +372 -29
  17. package/dist/cjs/shared/logger/Logger.js.map +1 -1
  18. package/dist/cjs/src/cluster/bun-cluster-manager.js +91 -1
  19. package/dist/cjs/src/cluster/bun-cluster-manager.js.map +1 -1
  20. package/dist/cjs/src/cluster/cluster-manager.js +15 -3
  21. package/dist/cjs/src/cluster/cluster-manager.js.map +1 -1
  22. package/dist/cjs/src/cluster/modules/AutoScaler.js +4 -4
  23. package/dist/cjs/src/cluster/modules/AutoScaler.js.map +1 -1
  24. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +2 -2
  25. package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
  26. package/dist/cjs/src/cluster/modules/EventLoopMonitor.js +270 -0
  27. package/dist/cjs/src/cluster/modules/EventLoopMonitor.js.map +1 -0
  28. package/dist/cjs/src/cluster/modules/GCStatsTracker.js +200 -0
  29. package/dist/cjs/src/cluster/modules/GCStatsTracker.js.map +1 -0
  30. package/dist/cjs/src/cluster/modules/HeapStatsCollector.js +111 -0
  31. package/dist/cjs/src/cluster/modules/HeapStatsCollector.js.map +1 -0
  32. package/dist/cjs/src/cluster/modules/NetworkTracker.js +162 -0
  33. package/dist/cjs/src/cluster/modules/NetworkTracker.js.map +1 -0
  34. package/dist/cjs/src/cluster/modules/ThroughputCalculator.js +186 -0
  35. package/dist/cjs/src/cluster/modules/ThroughputCalculator.js.map +1 -0
  36. package/dist/cjs/src/cluster/modules/WorkerManager.js +14 -15
  37. package/dist/cjs/src/cluster/modules/WorkerManager.js.map +1 -1
  38. package/dist/cjs/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
  39. package/dist/cjs/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
  40. package/dist/cjs/src/middleware/built-in/sqlInjection.js +335 -0
  41. package/dist/cjs/src/middleware/built-in/sqlInjection.js.map +1 -0
  42. package/dist/cjs/src/middleware/safe-json-middleware.js +1 -1
  43. package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
  44. package/dist/cjs/src/middleware/security-middleware.js +447 -332
  45. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  46. package/dist/cjs/src/plugins/modules/index.js +9 -3
  47. package/dist/cjs/src/plugins/modules/index.js.map +1 -1
  48. package/dist/cjs/src/server/FastServer.js +41 -1
  49. package/dist/cjs/src/server/FastServer.js.map +1 -1
  50. package/dist/cjs/src/server/ServerFactory.js +62 -2
  51. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  52. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +32 -6
  53. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  54. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js +206 -0
  55. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  56. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +3 -28
  57. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  58. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +265 -0
  59. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  60. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  61. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  62. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  63. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  64. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +143 -24
  65. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
  66. package/dist/cjs/src/server/const/default.js +23 -9
  67. package/dist/cjs/src/server/const/default.js.map +1 -1
  68. package/dist/cjs/src/server/core/HttpServer.js +8 -8
  69. package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
  70. package/dist/cjs/src/server/core/XyprissApp.js +284 -17
  71. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -1
  72. package/dist/cjs/src/server/handlers/NotFoundHandler.js +1 -1
  73. package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -1
  74. package/dist/cjs/src/server/middleware/MiddlewareManager.js +57 -12
  75. package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -1
  76. package/dist/cjs/src/server/utils/forceClosePort.js +1 -1
  77. package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
  78. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +10 -0
  79. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  80. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +10 -0
  81. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  82. package/dist/esm/mods/security/src/components/cache/index.js +10 -2
  83. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
  84. package/dist/esm/mods/security/src/components/fortified-function/index.js +9 -0
  85. package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
  86. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
  87. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  88. package/dist/esm/mods/security/src/core/crypto.js +14 -0
  89. package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
  90. package/dist/esm/mods/security/src/index.js +10 -1
  91. package/dist/esm/mods/security/src/index.js.map +1 -1
  92. package/dist/esm/shared/logger/Logger.js +372 -29
  93. package/dist/esm/shared/logger/Logger.js.map +1 -1
  94. package/dist/esm/src/cluster/bun-cluster-manager.js +91 -1
  95. package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -1
  96. package/dist/esm/src/cluster/cluster-manager.js +15 -3
  97. package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
  98. package/dist/esm/src/cluster/modules/AutoScaler.js +4 -4
  99. package/dist/esm/src/cluster/modules/AutoScaler.js.map +1 -1
  100. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +2 -2
  101. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
  102. package/dist/esm/src/cluster/modules/EventLoopMonitor.js +268 -0
  103. package/dist/esm/src/cluster/modules/EventLoopMonitor.js.map +1 -0
  104. package/dist/esm/src/cluster/modules/GCStatsTracker.js +198 -0
  105. package/dist/esm/src/cluster/modules/GCStatsTracker.js.map +1 -0
  106. package/dist/esm/src/cluster/modules/HeapStatsCollector.js +109 -0
  107. package/dist/esm/src/cluster/modules/HeapStatsCollector.js.map +1 -0
  108. package/dist/esm/src/cluster/modules/NetworkTracker.js +160 -0
  109. package/dist/esm/src/cluster/modules/NetworkTracker.js.map +1 -0
  110. package/dist/esm/src/cluster/modules/ThroughputCalculator.js +184 -0
  111. package/dist/esm/src/cluster/modules/ThroughputCalculator.js.map +1 -0
  112. package/dist/esm/src/cluster/modules/WorkerManager.js +14 -14
  113. package/dist/esm/src/cluster/modules/WorkerManager.js.map +1 -1
  114. package/dist/esm/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
  115. package/dist/esm/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
  116. package/dist/esm/src/middleware/built-in/sqlInjection.js +333 -0
  117. package/dist/esm/src/middleware/built-in/sqlInjection.js.map +1 -0
  118. package/dist/esm/src/middleware/safe-json-middleware.js +1 -1
  119. package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
  120. package/dist/esm/src/middleware/security-middleware.js +447 -332
  121. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  122. package/dist/esm/src/plugins/modules/index.js +9 -3
  123. package/dist/esm/src/plugins/modules/index.js.map +1 -1
  124. package/dist/esm/src/server/FastServer.js +41 -1
  125. package/dist/esm/src/server/FastServer.js.map +1 -1
  126. package/dist/esm/src/server/ServerFactory.js +62 -2
  127. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  128. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +32 -6
  129. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  130. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js +204 -0
  131. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  132. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +2 -27
  133. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  134. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +263 -0
  135. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  136. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  137. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  138. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  139. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  140. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +143 -24
  141. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
  142. package/dist/esm/src/server/const/default.js +23 -9
  143. package/dist/esm/src/server/const/default.js.map +1 -1
  144. package/dist/esm/src/server/core/HttpServer.js +8 -8
  145. package/dist/esm/src/server/core/HttpServer.js.map +1 -1
  146. package/dist/esm/src/server/core/XyprissApp.js +284 -17
  147. package/dist/esm/src/server/core/XyprissApp.js.map +1 -1
  148. package/dist/esm/src/server/handlers/NotFoundHandler.js +1 -1
  149. package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -1
  150. package/dist/esm/src/server/middleware/MiddlewareManager.js +57 -12
  151. package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -1
  152. package/dist/esm/src/server/utils/forceClosePort.js +1 -1
  153. package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
  154. package/dist/index.d.ts +675 -516
  155. package/package.json +10 -11
  156. package/dist/cjs/src/cluster/index.js +0 -361
  157. package/dist/cjs/src/cluster/index.js.map +0 -1
  158. package/dist/cjs/src/cluster/modules/ClusterFactory.js +0 -539
  159. package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +0 -1
  160. package/dist/cjs/src/cluster/modules/LoadBalancer.js.map +0 -1
  161. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -668
  162. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  163. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -347
  164. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  165. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -204
  166. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  167. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js +0 -953
  168. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  169. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -56
  170. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
  171. package/dist/esm/src/cluster/index.js +0 -339
  172. package/dist/esm/src/cluster/index.js.map +0 -1
  173. package/dist/esm/src/cluster/modules/ClusterFactory.js +0 -511
  174. package/dist/esm/src/cluster/modules/ClusterFactory.js.map +0 -1
  175. package/dist/esm/src/cluster/modules/LoadBalancer.js.map +0 -1
  176. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -647
  177. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  178. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -345
  179. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  180. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -202
  181. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  182. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js +0 -951
  183. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  184. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -54
  185. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AutoScaler.js","sources":["../../../../../src/cluster/modules/AutoScaler.ts"],"sourcesContent":[null],"names":["EventEmitter","performance","cpus","func","createSecurityError","ErrorType","ErrorSeverity","logger"],"mappings":"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"}
1
+ {"version":3,"file":"AutoScaler.js","sources":["../../../../../src/cluster/modules/AutoScaler.ts"],"sourcesContent":[null],"names":["EventEmitter","performance","cpus","func","createSecurityError","ErrorType","ErrorSeverity","cluster","logger"],"mappings":"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"}
@@ -136,11 +136,11 @@ class CrossPlatformMemory {
136
136
  }
137
137
  try {
138
138
  const result = await this.executeMemoryCLI();
139
- Logger.logger.debug("memory", "Successfully retrieved memory info from Go CLI");
139
+ Logger.logger.debug("memory", "Successfully retrieved memory info from MCLI");
140
140
  return result;
141
141
  }
142
142
  catch (error) {
143
- Logger.logger.error("memory", "Failed to get memory info from Go CLI:", error);
143
+ Logger.logger.error("memory", "Failed to get memory info from MCLI:", error);
144
144
  if (this.fallbackEnabled) {
145
145
  Logger.logger.warn("memory", "Falling back to Node.js os module");
146
146
  return this.getFallbackMemoryInfo();
@@ -1 +1 @@
1
- {"version":3,"file":"CrossPlatformMemory.js","sources":["../../../../../src/cluster/modules/CrossPlatformMemory.ts"],"sourcesContent":[null],"names":["join","existsSync","readFileSync","logger","spawn"],"mappings":"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"}
1
+ {"version":3,"file":"CrossPlatformMemory.js","sources":["../../../../../src/cluster/modules/CrossPlatformMemory.ts"],"sourcesContent":[null],"names":["join","existsSync","readFileSync","logger","spawn"],"mappings":"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"}
@@ -0,0 +1,270 @@
1
+ 'use strict';
2
+
3
+ var Logger = require('../../../shared/logger/Logger.js');
4
+
5
+ /**
6
+ * Event Loop Monitor for Bun Workers
7
+ * Monitors event loop delay and utilization
8
+ */
9
+ class EventLoopMonitor {
10
+ constructor() {
11
+ this.eventLoopStatsCache = new Map();
12
+ this.delayHistory = new Map();
13
+ this.lastCollectionTime = new Map();
14
+ this.monitoringIntervals = new Map();
15
+ this.cacheTimeout = 1000; // 1 second cache
16
+ this.historyWindow = 300000; // 5 minutes history window
17
+ this.monitoringInterval = 100; // Monitor every 100ms
18
+ // Health thresholds (configurable)
19
+ this.healthyThreshold = 10; // < 10ms is healthy
20
+ this.warningThreshold = 50; // 10-50ms is warning
21
+ }
22
+ // > 50ms is critical
23
+ /**
24
+ * Get event loop statistics for a worker process
25
+ */
26
+ async getEventLoopStats(workerId) {
27
+ const now = Date.now();
28
+ const lastCollection = this.lastCollectionTime.get(workerId) || 0;
29
+ // Return cached stats if recent
30
+ if (now - lastCollection < this.cacheTimeout) {
31
+ const cached = this.eventLoopStatsCache.get(workerId);
32
+ if (cached) {
33
+ return cached;
34
+ }
35
+ }
36
+ try {
37
+ const stats = await this.collectEventLoopStats(workerId);
38
+ // Cache the results
39
+ this.eventLoopStatsCache.set(workerId, stats);
40
+ this.lastCollectionTime.set(workerId, now);
41
+ return stats;
42
+ }
43
+ catch (error) {
44
+ Logger.logger.debug("cluster", `Failed to collect event loop stats for worker ${workerId}:`, error);
45
+ // Return default stats on error
46
+ return {
47
+ delay: 0,
48
+ utilization: 0,
49
+ averageDelay: 0,
50
+ maxDelay: 0,
51
+ health: 'healthy',
52
+ };
53
+ }
54
+ }
55
+ /**
56
+ * Collect event loop statistics
57
+ */
58
+ async collectEventLoopStats(workerId) {
59
+ const history = this.delayHistory.get(workerId) || [];
60
+ const now = Date.now();
61
+ // Clean old history
62
+ const recentHistory = history.filter(h => now - h.timestamp <= this.historyWindow);
63
+ this.delayHistory.set(workerId, recentHistory);
64
+ if (recentHistory.length === 0) {
65
+ return {
66
+ delay: 0,
67
+ utilization: 0,
68
+ averageDelay: 0,
69
+ maxDelay: 0,
70
+ health: 'healthy',
71
+ };
72
+ }
73
+ // Calculate current delay (most recent measurement)
74
+ const currentDelay = recentHistory[recentHistory.length - 1]?.delay || 0;
75
+ // Calculate average delay
76
+ const delays = recentHistory.map(h => h.delay);
77
+ const averageDelay = delays.reduce((sum, d) => sum + d, 0) / delays.length;
78
+ // Calculate max delay
79
+ const maxDelay = Math.max(...delays);
80
+ // Calculate utilization (inverse of delay health)
81
+ const utilization = this.calculateUtilization(averageDelay);
82
+ // Determine health status
83
+ const health = this.determineHealth(currentDelay, averageDelay);
84
+ return {
85
+ delay: Math.round(currentDelay * 100) / 100,
86
+ utilization: Math.round(utilization * 100) / 100,
87
+ averageDelay: Math.round(averageDelay * 100) / 100,
88
+ maxDelay: Math.round(maxDelay * 100) / 100,
89
+ health,
90
+ };
91
+ }
92
+ /**
93
+ * Calculate event loop utilization percentage
94
+ */
95
+ calculateUtilization(averageDelay) {
96
+ // Utilization is inversely related to delay
97
+ // 0ms delay = 100% utilization
98
+ // Higher delays = lower utilization
99
+ if (averageDelay <= 1)
100
+ return 100;
101
+ if (averageDelay >= 100)
102
+ return 0;
103
+ // Logarithmic scale for better representation
104
+ const utilization = 100 - (Math.log10(averageDelay) * 50);
105
+ return Math.max(0, Math.min(100, utilization));
106
+ }
107
+ /**
108
+ * Determine health status based on delay metrics
109
+ */
110
+ determineHealth(currentDelay, averageDelay) {
111
+ const maxDelay = Math.max(currentDelay, averageDelay);
112
+ if (maxDelay <= this.healthyThreshold) {
113
+ return 'healthy';
114
+ }
115
+ else if (maxDelay <= this.warningThreshold) {
116
+ return 'warning';
117
+ }
118
+ else {
119
+ return 'critical';
120
+ }
121
+ }
122
+ /**
123
+ * Start monitoring event loop for a worker
124
+ */
125
+ startMonitoring(workerId) {
126
+ // Stop existing monitoring if any
127
+ this.stopMonitoring(workerId);
128
+ // In a real implementation, this would use performance hooks
129
+ // or IPC to get actual event loop delay from the worker
130
+ // For now, we'll simulate realistic delays
131
+ const interval = setInterval(() => {
132
+ this.measureEventLoopDelay(workerId);
133
+ }, this.monitoringInterval);
134
+ this.monitoringIntervals.set(workerId, interval);
135
+ Logger.logger.debug("cluster", `Started event loop monitoring for worker ${workerId}`);
136
+ }
137
+ /**
138
+ * Stop monitoring event loop for a worker
139
+ */
140
+ stopMonitoring(workerId) {
141
+ const interval = this.monitoringIntervals.get(workerId);
142
+ if (interval) {
143
+ clearInterval(interval);
144
+ this.monitoringIntervals.delete(workerId);
145
+ Logger.logger.debug("cluster", `Stopped event loop monitoring for worker ${workerId}`);
146
+ }
147
+ }
148
+ /**
149
+ * Measure event loop delay (simulated for now)
150
+ */
151
+ measureEventLoopDelay(workerId) {
152
+ // In a real implementation, this would use:
153
+ // const { performance } = require('perf_hooks');
154
+ // const start = performance.now();
155
+ // setImmediate(() => {
156
+ // const delay = performance.now() - start;
157
+ // this.recordDelay(workerId, delay);
158
+ // });
159
+ // For now, simulate realistic delays based on load patterns
160
+ const baseDelay = Math.random() * 5; // 0-5ms base delay
161
+ const loadSpike = Math.random() < 0.1 ? Math.random() * 45 : 0; // 10% chance of 0-45ms spike
162
+ const delay = baseDelay + loadSpike;
163
+ this.recordDelay(workerId, delay);
164
+ }
165
+ /**
166
+ * Record a delay measurement
167
+ */
168
+ recordDelay(workerId, delay) {
169
+ const now = Date.now();
170
+ let history = this.delayHistory.get(workerId) || [];
171
+ // Add new measurement
172
+ history.push({
173
+ timestamp: now,
174
+ delay,
175
+ });
176
+ // Clean old measurements
177
+ history = history.filter(h => now - h.timestamp <= this.historyWindow);
178
+ this.delayHistory.set(workerId, history);
179
+ // Clear cache to force recalculation
180
+ this.eventLoopStatsCache.delete(workerId);
181
+ // Log critical delays
182
+ if (delay > this.warningThreshold) {
183
+ Logger.logger.warn("cluster", `High event loop delay detected for worker ${workerId}: ${delay.toFixed(2)}ms`);
184
+ }
185
+ }
186
+ /**
187
+ * Clear cached stats for a worker
188
+ */
189
+ clearWorkerStats(workerId) {
190
+ this.stopMonitoring(workerId);
191
+ this.eventLoopStatsCache.delete(workerId);
192
+ this.delayHistory.delete(workerId);
193
+ this.lastCollectionTime.delete(workerId);
194
+ }
195
+ /**
196
+ * Clear all cached stats
197
+ */
198
+ clearAllStats() {
199
+ // Stop all monitoring
200
+ for (const workerId of this.monitoringIntervals.keys()) {
201
+ this.stopMonitoring(workerId);
202
+ }
203
+ this.eventLoopStatsCache.clear();
204
+ this.delayHistory.clear();
205
+ this.lastCollectionTime.clear();
206
+ }
207
+ /**
208
+ * Get all cached event loop stats
209
+ */
210
+ getAllCachedStats() {
211
+ return new Map(this.eventLoopStatsCache);
212
+ }
213
+ /**
214
+ * Get delay trends for a worker
215
+ */
216
+ getDelayTrends(workerId, minutes = 5) {
217
+ const history = this.delayHistory.get(workerId) || [];
218
+ const now = Date.now();
219
+ const windowMs = minutes * 60 * 1000;
220
+ return history
221
+ .filter(h => now - h.timestamp <= windowMs)
222
+ .map(h => ({
223
+ timestamp: h.timestamp,
224
+ delay: Math.round(h.delay * 100) / 100
225
+ }));
226
+ }
227
+ /**
228
+ * Get performance summary for a worker
229
+ */
230
+ getPerformanceSummary(workerId) {
231
+ const stats = this.eventLoopStatsCache.get(workerId);
232
+ if (!stats) {
233
+ return {
234
+ status: 'unknown',
235
+ recommendation: 'Start monitoring to get performance data',
236
+ metrics: {
237
+ currentDelay: 0,
238
+ averageDelay: 0,
239
+ maxDelay: 0,
240
+ utilization: 0,
241
+ },
242
+ };
243
+ }
244
+ let recommendation = '';
245
+ switch (stats.health) {
246
+ case 'healthy':
247
+ recommendation = 'Event loop performance is optimal';
248
+ break;
249
+ case 'warning':
250
+ recommendation = 'Consider reducing synchronous operations or increasing worker count';
251
+ break;
252
+ case 'critical':
253
+ recommendation = 'Immediate attention required - high event loop delay detected';
254
+ break;
255
+ }
256
+ return {
257
+ status: stats.health,
258
+ recommendation,
259
+ metrics: {
260
+ currentDelay: stats.delay,
261
+ averageDelay: stats.averageDelay,
262
+ maxDelay: stats.maxDelay,
263
+ utilization: stats.utilization,
264
+ },
265
+ };
266
+ }
267
+ }
268
+
269
+ exports.EventLoopMonitor = EventLoopMonitor;
270
+ //# sourceMappingURL=EventLoopMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventLoopMonitor.js","sources":["../../../../../src/cluster/modules/EventLoopMonitor.ts"],"sourcesContent":[null],"names":["logger"],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ 'use strict';
2
+
3
+ var Logger = require('../../../shared/logger/Logger.js');
4
+
5
+ /**
6
+ * Garbage Collection Statistics Tracker for Bun Workers
7
+ * Tracks GC events, timing, and performance impact
8
+ */
9
+ class GCStatsTracker {
10
+ constructor() {
11
+ this.gcStatsCache = new Map();
12
+ this.gcHistory = new Map();
13
+ this.lastCollectionTime = new Map();
14
+ this.cacheTimeout = 5000; // 5 seconds cache
15
+ this.historyWindow = 600000; // 10 minutes history window
16
+ }
17
+ /**
18
+ * Get GC statistics for a worker process
19
+ */
20
+ async getGCStats(workerId, pid) {
21
+ const now = Date.now();
22
+ const lastCollection = this.lastCollectionTime.get(workerId) || 0;
23
+ // Return cached stats if recent
24
+ if (now - lastCollection < this.cacheTimeout) {
25
+ const cached = this.gcStatsCache.get(workerId);
26
+ if (cached) {
27
+ return cached;
28
+ }
29
+ }
30
+ try {
31
+ const stats = await this.collectGCStats(workerId, pid);
32
+ // Cache the results
33
+ this.gcStatsCache.set(workerId, stats);
34
+ this.lastCollectionTime.set(workerId, now);
35
+ return stats;
36
+ }
37
+ catch (error) {
38
+ Logger.logger.debug("cluster", `Failed to collect GC stats for worker ${workerId}:`, error);
39
+ // Return default stats on error
40
+ return {
41
+ collections: 0,
42
+ timeSpent: 0,
43
+ averageTime: 0,
44
+ gcPressure: 0,
45
+ };
46
+ }
47
+ }
48
+ /**
49
+ * Collect GC statistics from process
50
+ */
51
+ async collectGCStats(workerId, pid) {
52
+ try {
53
+ // In a real implementation, this would use performance hooks or IPC
54
+ // to get actual GC stats from the worker process
55
+ // For now, we'll simulate based on typical patterns
56
+ const history = this.gcHistory.get(workerId) || [];
57
+ const now = Date.now();
58
+ // Clean old history
59
+ const recentHistory = history.filter(h => now - h.timestamp <= this.historyWindow);
60
+ this.gcHistory.set(workerId, recentHistory);
61
+ // Calculate stats from history
62
+ const collections = recentHistory.length;
63
+ const totalTime = recentHistory.reduce((sum, event) => sum + event.duration, 0);
64
+ const averageTime = collections > 0 ? totalTime / collections : 0;
65
+ // Calculate GC pressure based on frequency and duration
66
+ const recentEvents = recentHistory.filter(h => now - h.timestamp <= 60000); // Last minute
67
+ const gcPressure = this.calculateGCPressure(recentEvents);
68
+ const lastCollection = recentHistory.length > 0
69
+ ? new Date(recentHistory[recentHistory.length - 1].timestamp)
70
+ : undefined;
71
+ return {
72
+ collections,
73
+ timeSpent: totalTime,
74
+ averageTime,
75
+ lastCollection,
76
+ gcPressure,
77
+ };
78
+ }
79
+ catch (error) {
80
+ Logger.logger.debug("cluster", `Failed to collect GC stats for PID ${pid}:`, error);
81
+ return {
82
+ collections: 0,
83
+ timeSpent: 0,
84
+ averageTime: 0,
85
+ gcPressure: 0,
86
+ };
87
+ }
88
+ }
89
+ /**
90
+ * Calculate GC pressure score (0-100)
91
+ */
92
+ calculateGCPressure(recentEvents) {
93
+ if (recentEvents.length === 0) {
94
+ return 0;
95
+ }
96
+ // Factors that contribute to GC pressure:
97
+ // 1. Frequency of GC events
98
+ // 2. Duration of GC events
99
+ // 3. Trend over time
100
+ const frequency = recentEvents.length; // Events per minute
101
+ const averageDuration = recentEvents.reduce((sum, e) => sum + e.duration, 0) / recentEvents.length;
102
+ const totalTime = recentEvents.reduce((sum, e) => sum + e.duration, 0);
103
+ // Normalize scores (these thresholds are configurable)
104
+ const frequencyScore = Math.min(100, (frequency / 10) * 100); // 10+ events = 100%
105
+ const durationScore = Math.min(100, (averageDuration / 100) * 100); // 100ms+ avg = 100%
106
+ const timeScore = Math.min(100, (totalTime / 1000) * 100); // 1s+ total = 100%
107
+ // Weighted average
108
+ const pressure = (frequencyScore * 0.4) + (durationScore * 0.3) + (timeScore * 0.3);
109
+ return Math.round(Math.min(100, Math.max(0, pressure)));
110
+ }
111
+ /**
112
+ * Record a GC event (to be called by performance monitoring)
113
+ */
114
+ recordGCEvent(workerId, duration, type) {
115
+ const now = Date.now();
116
+ let history = this.gcHistory.get(workerId) || [];
117
+ // Add new event
118
+ history.push({
119
+ timestamp: now,
120
+ duration,
121
+ type,
122
+ });
123
+ // Clean old events
124
+ history = history.filter(h => now - h.timestamp <= this.historyWindow);
125
+ this.gcHistory.set(workerId, history);
126
+ // Clear cache to force recalculation
127
+ this.gcStatsCache.delete(workerId);
128
+ Logger.logger.debug("cluster", `GC event recorded for worker ${workerId}: ${duration}ms`);
129
+ }
130
+ /**
131
+ * Simulate GC events for testing (remove in production)
132
+ */
133
+ simulateGCEvent(workerId) {
134
+ // Simulate realistic GC durations (1-50ms typically)
135
+ const duration = Math.random() * 49 + 1;
136
+ const types = ['minor', 'major', 'incremental'];
137
+ const type = types[Math.floor(Math.random() * types.length)];
138
+ this.recordGCEvent(workerId, duration, type);
139
+ }
140
+ /**
141
+ * Clear cached stats for a worker
142
+ */
143
+ clearWorkerStats(workerId) {
144
+ this.gcStatsCache.delete(workerId);
145
+ this.gcHistory.delete(workerId);
146
+ this.lastCollectionTime.delete(workerId);
147
+ }
148
+ /**
149
+ * Clear all cached stats
150
+ */
151
+ clearAllStats() {
152
+ this.gcStatsCache.clear();
153
+ this.gcHistory.clear();
154
+ this.lastCollectionTime.clear();
155
+ }
156
+ /**
157
+ * Get all cached GC stats
158
+ */
159
+ getAllCachedStats() {
160
+ return new Map(this.gcStatsCache);
161
+ }
162
+ /**
163
+ * Get GC event history for a worker
164
+ */
165
+ getGCHistory(workerId, minutes = 10) {
166
+ const history = this.gcHistory.get(workerId) || [];
167
+ const now = Date.now();
168
+ const windowMs = minutes * 60 * 1000;
169
+ return history.filter(h => now - h.timestamp <= windowMs);
170
+ }
171
+ /**
172
+ * Get GC trends and patterns
173
+ */
174
+ getGCTrends(workerId) {
175
+ const history = this.getGCHistory(workerId, 5); // Last 5 minutes
176
+ if (history.length === 0) {
177
+ return {
178
+ eventsPerMinute: 0,
179
+ averageDuration: 0,
180
+ maxDuration: 0,
181
+ totalTimePercentage: 0,
182
+ };
183
+ }
184
+ const eventsPerMinute = history.length / 5; // 5 minute window
185
+ const durations = history.map(h => h.duration);
186
+ const averageDuration = durations.reduce((sum, d) => sum + d, 0) / durations.length;
187
+ const maxDuration = Math.max(...durations);
188
+ const totalGCTime = durations.reduce((sum, d) => sum + d, 0);
189
+ const totalTimePercentage = (totalGCTime / (5 * 60 * 1000)) * 100; // % of 5 minutes
190
+ return {
191
+ eventsPerMinute: Math.round(eventsPerMinute * 100) / 100,
192
+ averageDuration: Math.round(averageDuration * 100) / 100,
193
+ maxDuration: Math.round(maxDuration * 100) / 100,
194
+ totalTimePercentage: Math.round(totalTimePercentage * 100) / 100,
195
+ };
196
+ }
197
+ }
198
+
199
+ exports.GCStatsTracker = GCStatsTracker;
200
+ //# sourceMappingURL=GCStatsTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GCStatsTracker.js","sources":["../../../../../src/cluster/modules/GCStatsTracker.ts"],"sourcesContent":[null],"names":["logger"],"mappings":"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"}