@goatlab/node-backend 1.4.1 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/server/bootstraps/ExpressTrpcAppConfig.d.ts +6 -1
- package/dist/server/bootstraps/ExpressTrpcAppConfig.js +4 -0
- package/dist/server/bootstraps/ExpressTrpcAppConfig.js.map +1 -1
- package/dist/server/bootstraps/getExpressTrpcApp.js +2 -2
- package/dist/server/bootstraps/getExpressTrpcApp.js.map +1 -1
- package/dist/server/middleware/logger/cloudRun.logger.d.ts +18 -2
- package/dist/server/middleware/logger/cloudRun.logger.js +120 -20
- package/dist/server/middleware/logger/cloudRun.logger.js.map +1 -1
- package/dist/server/middleware/logs.middleware.d.ts +20 -1
- package/dist/server/middleware/logs.middleware.js +56 -12
- package/dist/server/middleware/logs.middleware.js.map +1 -1
- package/dist/server/middleware/memoryMonitor.middleware.d.ts +1 -0
- package/dist/server/middleware/memoryMonitor.middleware.js +23 -4
- package/dist/server/middleware/memoryMonitor.middleware.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.createMemoryMonitorMiddleware = createMemoryMonitorMiddleware;
|
|
5
5
|
exports.memoryMonitorMiddleware = memoryMonitorMiddleware;
|
|
6
|
-
const colors_1 = require("kleur/colors");
|
|
7
6
|
class MemoryMonitor {
|
|
8
7
|
logger;
|
|
9
8
|
warningThreshold;
|
|
@@ -14,6 +13,7 @@ class MemoryMonitor {
|
|
|
14
13
|
intervalTimer;
|
|
15
14
|
lastMetrics;
|
|
16
15
|
gcAvailable;
|
|
16
|
+
lastState = 'normal';
|
|
17
17
|
constructor(options = {}) {
|
|
18
18
|
this.logger = options.logger || console;
|
|
19
19
|
this.warningThreshold = options.warningThreshold || 90;
|
|
@@ -46,8 +46,23 @@ class MemoryMonitor {
|
|
|
46
46
|
}
|
|
47
47
|
checkMemoryUsage(metrics) {
|
|
48
48
|
const { heapUsedPercentage } = metrics;
|
|
49
|
+
// Determine current state
|
|
50
|
+
let currentState = 'normal';
|
|
49
51
|
if (heapUsedPercentage >= this.criticalThreshold) {
|
|
50
|
-
|
|
52
|
+
currentState = 'critical';
|
|
53
|
+
}
|
|
54
|
+
else if (heapUsedPercentage >= this.warningThreshold) {
|
|
55
|
+
currentState = 'warning';
|
|
56
|
+
}
|
|
57
|
+
// Only log on state transitions to avoid flooding logs
|
|
58
|
+
if (currentState === this.lastState) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const previousState = this.lastState;
|
|
62
|
+
this.lastState = currentState;
|
|
63
|
+
const memInfo = `Memory usage at ${heapUsedPercentage.toFixed(1)}% - ${this.formatMemoryMetrics(metrics)}`;
|
|
64
|
+
if (currentState === 'critical') {
|
|
65
|
+
this.logger.error(`CRITICAL: ${memInfo}`);
|
|
51
66
|
// Attempt garbage collection if available and enabled
|
|
52
67
|
if (this.enableGarbageCollection && this.gcAvailable) {
|
|
53
68
|
this.logger.warn('Triggering garbage collection due to critical memory usage');
|
|
@@ -59,8 +74,12 @@ class MemoryMonitor {
|
|
|
59
74
|
}, 100);
|
|
60
75
|
}
|
|
61
76
|
}
|
|
62
|
-
else if (
|
|
63
|
-
this.logger.warn(
|
|
77
|
+
else if (currentState === 'warning') {
|
|
78
|
+
this.logger.warn(`WARNING: ${memInfo}`);
|
|
79
|
+
}
|
|
80
|
+
else if (previousState !== 'normal') {
|
|
81
|
+
// Recovered from warning/critical — log the good news
|
|
82
|
+
this.logger.log(`Memory recovered: ${memInfo}`);
|
|
64
83
|
}
|
|
65
84
|
}
|
|
66
85
|
startMonitoring() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryMonitor.middleware.js","sourceRoot":"","sources":["../../../src/server/middleware/memoryMonitor.middleware.ts"],"names":[],"mappings":";AAAA,0EAA0E;;
|
|
1
|
+
{"version":3,"file":"memoryMonitor.middleware.js","sourceRoot":"","sources":["../../../src/server/middleware/memoryMonitor.middleware.ts"],"names":[],"mappings":"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"}
|