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