xypriss 1.3.8 → 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 (221) hide show
  1. package/README.md +232 -254
  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 -74
  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 -4
  15. package/dist/cjs/mods/security/src/index.js.map +1 -1
  16. package/dist/cjs/shared/logger/Logger.js +374 -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/index.js +55 -61
  41. package/dist/cjs/src/index.js.map +1 -1
  42. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js +281 -0
  43. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  44. package/dist/cjs/src/middleware/built-in/index.js +325 -0
  45. package/dist/cjs/src/middleware/built-in/index.js.map +1 -0
  46. package/dist/cjs/src/middleware/built-in/sqlInjection.js +335 -0
  47. package/dist/cjs/src/middleware/built-in/sqlInjection.js.map +1 -0
  48. package/dist/cjs/src/middleware/safe-json-middleware.js +1 -1
  49. package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
  50. package/dist/cjs/src/middleware/security-middleware.js +447 -332
  51. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  52. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  53. package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  54. package/dist/cjs/src/plugins/modules/index.js +9 -3
  55. package/dist/cjs/src/plugins/modules/index.js.map +1 -1
  56. package/dist/cjs/src/quick-start.js +0 -4
  57. package/dist/cjs/src/quick-start.js.map +1 -1
  58. package/dist/cjs/src/server/FastServer.js +94 -412
  59. package/dist/cjs/src/server/FastServer.js.map +1 -1
  60. package/dist/cjs/src/server/ServerFactory.js +69 -64
  61. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  62. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +31 -5
  63. package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  64. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js +1 -1
  65. package/dist/cjs/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  66. package/dist/cjs/src/server/components/fastapi/RouteManager.js +0 -82
  67. package/dist/cjs/src/server/components/fastapi/RouteManager.js.map +1 -1
  68. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js +206 -0
  69. package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  70. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +3 -28
  71. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  72. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +265 -0
  73. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  74. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  75. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  76. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  77. package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  78. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +503 -0
  79. package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  80. package/dist/cjs/src/server/const/default.js +23 -17
  81. package/dist/cjs/src/server/const/default.js.map +1 -1
  82. package/dist/cjs/src/server/core/HttpServer.js +500 -0
  83. package/dist/cjs/src/server/core/HttpServer.js.map +1 -0
  84. package/dist/cjs/src/server/core/XyprissApp.js +679 -0
  85. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -0
  86. package/dist/cjs/src/server/handlers/NotFoundHandler.js +1 -1
  87. package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -1
  88. package/dist/cjs/src/server/middleware/MiddlewareManager.js +191 -0
  89. package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -0
  90. package/dist/cjs/src/server/routing/Router.js +341 -0
  91. package/dist/cjs/src/server/routing/Router.js.map +1 -0
  92. package/dist/cjs/src/server/utils/PortManager.js +1 -0
  93. package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
  94. package/dist/cjs/src/server/utils/forceClosePort.js +294 -88
  95. package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
  96. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +10 -0
  97. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  98. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +10 -0
  99. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  100. package/dist/esm/mods/security/src/components/cache/index.js +11 -72
  101. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
  102. package/dist/esm/mods/security/src/components/fortified-function/index.js +9 -0
  103. package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
  104. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
  105. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  106. package/dist/esm/mods/security/src/core/crypto.js +14 -0
  107. package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
  108. package/dist/esm/mods/security/src/index.js +11 -2
  109. package/dist/esm/mods/security/src/index.js.map +1 -1
  110. package/dist/esm/shared/logger/Logger.js +374 -29
  111. package/dist/esm/shared/logger/Logger.js.map +1 -1
  112. package/dist/esm/src/cluster/bun-cluster-manager.js +91 -1
  113. package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -1
  114. package/dist/esm/src/cluster/cluster-manager.js +15 -3
  115. package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
  116. package/dist/esm/src/cluster/modules/AutoScaler.js +4 -4
  117. package/dist/esm/src/cluster/modules/AutoScaler.js.map +1 -1
  118. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +2 -2
  119. package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
  120. package/dist/esm/src/cluster/modules/EventLoopMonitor.js +268 -0
  121. package/dist/esm/src/cluster/modules/EventLoopMonitor.js.map +1 -0
  122. package/dist/esm/src/cluster/modules/GCStatsTracker.js +198 -0
  123. package/dist/esm/src/cluster/modules/GCStatsTracker.js.map +1 -0
  124. package/dist/esm/src/cluster/modules/HeapStatsCollector.js +109 -0
  125. package/dist/esm/src/cluster/modules/HeapStatsCollector.js.map +1 -0
  126. package/dist/esm/src/cluster/modules/NetworkTracker.js +160 -0
  127. package/dist/esm/src/cluster/modules/NetworkTracker.js.map +1 -0
  128. package/dist/esm/src/cluster/modules/ThroughputCalculator.js +184 -0
  129. package/dist/esm/src/cluster/modules/ThroughputCalculator.js.map +1 -0
  130. package/dist/esm/src/cluster/modules/WorkerManager.js +14 -14
  131. package/dist/esm/src/cluster/modules/WorkerManager.js.map +1 -1
  132. package/dist/esm/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
  133. package/dist/esm/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
  134. package/dist/esm/src/index.js +41 -11
  135. package/dist/esm/src/index.js.map +1 -1
  136. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +279 -0
  137. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
  138. package/dist/esm/src/middleware/built-in/index.js +323 -0
  139. package/dist/esm/src/middleware/built-in/index.js.map +1 -0
  140. package/dist/esm/src/middleware/built-in/sqlInjection.js +333 -0
  141. package/dist/esm/src/middleware/built-in/sqlInjection.js.map +1 -0
  142. package/dist/esm/src/middleware/safe-json-middleware.js +1 -1
  143. package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
  144. package/dist/esm/src/middleware/security-middleware.js +447 -332
  145. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  146. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
  147. package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
  148. package/dist/esm/src/plugins/modules/index.js +9 -3
  149. package/dist/esm/src/plugins/modules/index.js.map +1 -1
  150. package/dist/esm/src/quick-start.js +0 -4
  151. package/dist/esm/src/quick-start.js.map +1 -1
  152. package/dist/esm/src/server/FastServer.js +94 -412
  153. package/dist/esm/src/server/FastServer.js.map +1 -1
  154. package/dist/esm/src/server/ServerFactory.js +70 -61
  155. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  156. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +31 -5
  157. package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
  158. package/dist/esm/src/server/components/fastapi/PerformanceManager.js +1 -1
  159. package/dist/esm/src/server/components/fastapi/PerformanceManager.js.map +1 -1
  160. package/dist/esm/src/server/components/fastapi/RouteManager.js +0 -82
  161. package/dist/esm/src/server/components/fastapi/RouteManager.js.map +1 -1
  162. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js +204 -0
  163. package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
  164. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +2 -27
  165. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  166. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +263 -0
  167. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
  168. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
  169. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
  170. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
  171. package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
  172. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +501 -0
  173. package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
  174. package/dist/esm/src/server/const/default.js +23 -17
  175. package/dist/esm/src/server/const/default.js.map +1 -1
  176. package/dist/esm/src/server/core/HttpServer.js +498 -0
  177. package/dist/esm/src/server/core/HttpServer.js.map +1 -0
  178. package/dist/esm/src/server/core/XyprissApp.js +677 -0
  179. package/dist/esm/src/server/core/XyprissApp.js.map +1 -0
  180. package/dist/esm/src/server/handlers/NotFoundHandler.js +1 -1
  181. package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -1
  182. package/dist/esm/src/server/middleware/MiddlewareManager.js +189 -0
  183. package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -0
  184. package/dist/esm/src/server/routing/Router.js +339 -0
  185. package/dist/esm/src/server/routing/Router.js.map +1 -0
  186. package/dist/esm/src/server/utils/PortManager.js +1 -0
  187. package/dist/esm/src/server/utils/PortManager.js.map +1 -1
  188. package/dist/esm/src/server/utils/forceClosePort.js +294 -88
  189. package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
  190. package/dist/index.d.ts +3363 -5311
  191. package/package.json +39 -28
  192. package/dist/cjs/src/cluster/index.js +0 -361
  193. package/dist/cjs/src/cluster/index.js.map +0 -1
  194. package/dist/cjs/src/cluster/modules/ClusterFactory.js +0 -539
  195. package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +0 -1
  196. package/dist/cjs/src/cluster/modules/LoadBalancer.js.map +0 -1
  197. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -668
  198. package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  199. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -347
  200. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  201. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -204
  202. package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  203. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js +0 -953
  204. package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  205. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -56
  206. package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
  207. package/dist/esm/src/cluster/index.js +0 -339
  208. package/dist/esm/src/cluster/index.js.map +0 -1
  209. package/dist/esm/src/cluster/modules/ClusterFactory.js +0 -511
  210. package/dist/esm/src/cluster/modules/ClusterFactory.js.map +0 -1
  211. package/dist/esm/src/cluster/modules/LoadBalancer.js.map +0 -1
  212. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -647
  213. package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
  214. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -345
  215. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
  216. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -202
  217. package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
  218. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js +0 -951
  219. package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
  220. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -54
  221. package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
@@ -8,6 +8,11 @@ var perf_hooks = require('perf_hooks');
8
8
  var CpuMonitor = require('./modules/CpuMonitor.js');
9
9
  var net = require('net');
10
10
  var os = require('os');
11
+ var HeapStatsCollector = require('./modules/HeapStatsCollector.js');
12
+ var NetworkTracker = require('./modules/NetworkTracker.js');
13
+ var ThroughputCalculator = require('./modules/ThroughputCalculator.js');
14
+ var GCStatsTracker = require('./modules/GCStatsTracker.js');
15
+ var EventLoopMonitor = require('./modules/EventLoopMonitor.js');
11
16
 
12
17
  /**
13
18
  * Robust Bun-compatible cluster manager
@@ -17,16 +22,18 @@ var os = require('os');
17
22
  * Bun-compatible cluster manager with enhanced security and robustness
18
23
  */
19
24
  class BunClusterManager extends events.EventEmitter {
20
- constructor(config, basePort = 8085) {
25
+ constructor(config, basePort = 8085, serverOptions = {}) {
21
26
  super();
22
27
  this.workers = new Map();
23
28
  this.isRunning = false;
24
29
  this.startTime = 0;
25
30
  this.maxShutdownTime = 30000; // 30 seconds
26
31
  this.workerPorts = new Set();
32
+ this.serverOptions = {}; // Store server options to pass to workers
27
33
  this._validateConfig(config);
28
34
  this.config = config;
29
35
  this.basePort = basePort;
36
+ this.serverOptions = serverOptions; // Store server options
30
37
  this.masterToken = this._generateSecureToken();
31
38
  // Initialize security configuration
32
39
  this.securityConfig = {
@@ -57,6 +64,12 @@ class BunClusterManager extends events.EventEmitter {
57
64
  critical: 90,
58
65
  },
59
66
  });
67
+ // Initialize performance monitoring modules
68
+ this.heapStatsCollector = new HeapStatsCollector.HeapStatsCollector();
69
+ this.networkTracker = new NetworkTracker.NetworkTracker();
70
+ this.throughputCalculator = new ThroughputCalculator.ThroughputCalculator();
71
+ this.gcStatsTracker = new GCStatsTracker.GCStatsTracker();
72
+ this.eventLoopMonitor = new EventLoopMonitor.EventLoopMonitor();
60
73
  // Setup graceful shutdown handlers
61
74
  this._setupGracefulShutdown();
62
75
  }
@@ -452,6 +465,8 @@ class BunClusterManager extends events.EventEmitter {
452
465
  CLUSTER_MODE: "true",
453
466
  WORKER_MEMORY_LIMIT: this.securityConfig.maxMemoryPerWorker.toString(),
454
467
  WORKER_MAX_REQUESTS: "10000", // Prevent memory leaks
468
+ // Pass server configuration to worker
469
+ XYPRISS_SERVER_CONFIG: JSON.stringify(this.serverOptions),
455
470
  };
456
471
  const subprocess = Bun.spawn({
457
472
  cmd: ["bun", "run", process.argv[1]],
@@ -507,6 +522,8 @@ class BunClusterManager extends events.EventEmitter {
507
522
  Logger.logger.debug("cluster", `Worker ${workerId} registered with IPC manager`);
508
523
  }
509
524
  Logger.logger.info("cluster", `Bun worker ${workerId} started on port ${port}`);
525
+ // Start monitoring for this worker
526
+ this.eventLoopMonitor.startMonitoring(workerId);
510
527
  this.emit("worker:started", {
511
528
  workerId,
512
529
  port,
@@ -765,6 +782,12 @@ class BunClusterManager extends events.EventEmitter {
765
782
  this.ipcManager.unregisterWorker(workerId);
766
783
  Logger.logger.debug("cluster", `Worker ${workerId} unregistered from IPC manager`);
767
784
  }
785
+ // Clean up monitoring for this worker
786
+ this.eventLoopMonitor.clearWorkerStats(workerId);
787
+ this.heapStatsCollector.clearWorkerStats(workerId);
788
+ this.networkTracker.clearWorkerStats(workerId);
789
+ this.throughputCalculator.clearWorkerStats(workerId);
790
+ this.gcStatsTracker.clearWorkerStats(workerId);
768
791
  Logger.logger.info("cluster", `Bun worker ${workerId} stopped`);
769
792
  this.emit("worker:stopped", { workerId, timestamp: Date.now() });
770
793
  }
@@ -1560,6 +1583,73 @@ class BunClusterManager extends events.EventEmitter {
1560
1583
  timestamp: Date.now(),
1561
1584
  };
1562
1585
  }
1586
+ /**
1587
+ * Select worker for request using load balancing strategy
1588
+ */
1589
+ selectWorkerForRequest(workers, request) {
1590
+ // For now, use simple round-robin until we integrate the LoadBalancer class
1591
+ if (workers.length === 0) {
1592
+ throw new Error("No workers available for load balancing");
1593
+ }
1594
+ // Simple round-robin implementation
1595
+ const workerIds = workers.map((w) => w.workerId);
1596
+ const index = Math.floor(Math.random() * workerIds.length);
1597
+ return workerIds[index];
1598
+ }
1599
+ /**
1600
+ * Get worker metrics for load balancing
1601
+ */
1602
+ async getWorkerMetrics() {
1603
+ const workers = [];
1604
+ for (const [workerId, worker] of this.workers) {
1605
+ if (worker.status === "running" &&
1606
+ worker.health.status === "healthy") {
1607
+ workers.push({
1608
+ workerId,
1609
+ pid: worker.subprocess.pid || 0,
1610
+ uptime: Date.now() - worker.startTime,
1611
+ restarts: worker.restarts,
1612
+ lastRestart: worker.restarts > 0 ? new Date() : undefined,
1613
+ cpu: {
1614
+ usage: worker.performance.cpuUsage,
1615
+ average: worker.performance.cpuUsage,
1616
+ peak: worker.performance.cpuUsage,
1617
+ },
1618
+ memory: {
1619
+ usage: worker.performance.memoryUsage * 1024 * 1024, // Convert MB to bytes
1620
+ peak: worker.performance.memoryUsage * 1024 * 1024,
1621
+ percentage: worker.performance.memoryUsage,
1622
+ ...(await this.heapStatsCollector.getHeapStats(workerId, worker.subprocess.pid || 0)),
1623
+ },
1624
+ network: await this.networkTracker.getNetworkStats(workerId, worker.subprocess.pid || 0),
1625
+ requests: {
1626
+ total: worker.performance.requestCount,
1627
+ errors: worker.performance.errorCount,
1628
+ averageResponseTime: worker.performance.averageResponseTime || 0,
1629
+ p95ResponseTime: (worker.performance.averageResponseTime || 0) * 1.2,
1630
+ p99ResponseTime: (worker.performance.averageResponseTime || 0) * 1.5,
1631
+ ...(() => {
1632
+ const throughputStats = this.throughputCalculator.calculateThroughput(workerId, worker.performance.requestCount);
1633
+ return {
1634
+ perSecond: throughputStats.requestsPerSecond,
1635
+ activeRequests: throughputStats.activeRequests,
1636
+ queuedRequests: throughputStats.queuedRequests,
1637
+ };
1638
+ })(),
1639
+ },
1640
+ health: {
1641
+ status: worker.health.status,
1642
+ lastCheck: new Date(),
1643
+ consecutiveFailures: worker.health.consecutiveFailures,
1644
+ healthScore: 100, // Default healthy score
1645
+ },
1646
+ gc: await this.gcStatsTracker.getGCStats(workerId, worker.subprocess.pid || 0),
1647
+ eventLoop: await this.eventLoopMonitor.getEventLoopStats(workerId),
1648
+ });
1649
+ }
1650
+ }
1651
+ return workers;
1652
+ }
1563
1653
  }
1564
1654
 
1565
1655
  exports.BunClusterManager = BunClusterManager;
@@ -1 +1 @@
1
- {"version":3,"file":"bun-cluster-manager.js","sources":["../../../../src/cluster/bun-cluster-manager.ts"],"sourcesContent":[null],"names":["EventEmitter","MemoryManager","logger","CpuMonitor","randomBytes","createHash","performance"],"mappings":"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"}
1
+ {"version":3,"file":"bun-cluster-manager.js","sources":["../../../../src/cluster/bun-cluster-manager.ts"],"sourcesContent":[null],"names":["EventEmitter","MemoryManager","logger","CpuMonitor","HeapStatsCollector","NetworkTracker","ThroughputCalculator","GCStatsTracker","EventLoopMonitor","randomBytes","createHash","performance"],"mappings":"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"}
@@ -4,7 +4,7 @@ var os = require('os');
4
4
  var events = require('events');
5
5
  var WorkerManager = require('./modules/WorkerManager.js');
6
6
  var HealthMonitor = require('./modules/HealthMonitor.js');
7
- var LoadBalancer = require('./modules/LoadBalancer.js');
7
+ var LoadBalancer = require('./modules/strategy/LoadBalancer.js');
8
8
  var IPCManager = require('./modules/IPCManager.js');
9
9
  var MetricsCollector = require('./modules/MetricsCollector.js');
10
10
  var AutoScaler = require('./modules/AutoScaler.js');
@@ -12,7 +12,7 @@ var ClusterPersistenceManager = require('./modules/ClusterPersistenceManager.js'
12
12
  var errorHandler = require('../../mods/security/src/utils/errorHandler.js');
13
13
  var Cluster_config = require('../server/const/Cluster.config.js');
14
14
  var Logger = require('../../shared/logger/Logger.js');
15
- var cluster = require('cluster');
15
+ var clusterModule = require('cluster');
16
16
 
17
17
  function _interopNamespaceDefault(e) {
18
18
  var n = Object.create(null);
@@ -214,7 +214,7 @@ class ClusterManager extends events.EventEmitter {
214
214
  try {
215
215
  // logger.debug( "cluster","Starting cluster...");
216
216
  // Determine if we're in master or worker process
217
- if (cluster.isMaster) {
217
+ if (clusterModule.isMaster) {
218
218
  Logger.logger.debug("cluster", "Starting as cluster master process");
219
219
  // Start monitoring components
220
220
  this.healthMonitor.startMonitoring();
@@ -608,6 +608,18 @@ class ClusterManager extends events.EventEmitter {
608
608
  async sendToLeastLoadedWorker(message) {
609
609
  await this.ipcManager.sendToLeastLoadedWorker(message);
610
610
  }
611
+ /**
612
+ * Select worker for request using load balancing strategy
613
+ */
614
+ selectWorkerForRequest(workers, request) {
615
+ return this.loadBalancer.selectWorkerForRequest(workers, request);
616
+ }
617
+ // /**
618
+ // * Get worker metrics for load balancing
619
+ // */
620
+ // public getWorkerMetrics(): WorkerMetrics[] {
621
+ // return this.getAllWorkers();
622
+ // }
611
623
  // ===== EVENT HANDLING METHODS =====
612
624
  /**
613
625
  * Register event handler
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-manager.js","sources":["../../../../src/cluster/cluster-manager.ts"],"sourcesContent":[null],"names":["EventEmitter","SecurityErrorLogger","WorkerManager","HealthMonitor","LoadBalancer","IPCManager","MetricsCollector","AutoScaler","ClusterPersistenceManager","DEFAULT_CLUSTER_CONFIGS","createSecurityError","ErrorType","ErrorSeverity","logger","clusterModule","os"],"mappings":"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"}
1
+ {"version":3,"file":"cluster-manager.js","sources":["../../../../src/cluster/cluster-manager.ts"],"sourcesContent":[null],"names":["EventEmitter","SecurityErrorLogger","WorkerManager","HealthMonitor","LoadBalancer","IPCManager","MetricsCollector","AutoScaler","ClusterPersistenceManager","DEFAULT_CLUSTER_CONFIGS","createSecurityError","ErrorType","ErrorSeverity","logger","os"],"mappings":"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"}
@@ -6,7 +6,7 @@ var pidusage = require('pidusage');
6
6
  var errorHandler = require('../../../mods/security/src/utils/errorHandler.js');
7
7
  var index = require('../../../mods/security/src/components/fortified-function/index.js');
8
8
  var Logger = require('../../../shared/logger/Logger.js');
9
- var cluster = require('cluster');
9
+ var clusterModule = require('cluster');
10
10
  var os = require('os');
11
11
 
12
12
  /**
@@ -248,7 +248,7 @@ class AutoScaler extends events.EventEmitter {
248
248
  const startPromises = [];
249
249
  for (let i = 0; i < actualCount; i++) {
250
250
  startPromises.push(new Promise((resolve, reject) => {
251
- const worker = cluster.fork();
251
+ const worker = clusterModule.fork();
252
252
  const timeout = setTimeout(() => {
253
253
  worker.kill();
254
254
  reject(new Error(`Worker startup timeout after 8s`));
@@ -295,7 +295,7 @@ class AutoScaler extends events.EventEmitter {
295
295
  targetCount,
296
296
  });
297
297
  try {
298
- const workers = Object.values(cluster.workers || {}).slice(0, actualCount);
298
+ const workers = Object.values(clusterModule.workers || {}).slice(0, actualCount);
299
299
  const stopPromises = [];
300
300
  for (const worker of workers) {
301
301
  if (worker &&
@@ -391,7 +391,7 @@ class AutoScaler extends events.EventEmitter {
391
391
  };
392
392
  }
393
393
  }
394
- const workerPromises = Object.values(cluster.workers || {})
394
+ const workerPromises = Object.values(clusterModule.workers || {})
395
395
  .filter((worker) => !!worker && !worker.isDead())
396
396
  .map(async (worker) => {
397
397
  try {