perf(core): ⚡ Optimize core health checks to include post-startup readiness validation before allowing normal operations
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
d39369a444
commit
fc23527a82
1 changed files with 25 additions and 3 deletions
|
|
@ -137,6 +137,13 @@ const SUPPRESS_PATTERNS = [
|
|||
/punycode.*deprecated/i,
|
||||
/\(node:\d+\)\s+Warning:/,
|
||||
/DeprecationWarning/,
|
||||
// Suppress verbose axios/network object dumps
|
||||
/\[Symbol\(/,
|
||||
/_idleTimeout:/,
|
||||
/_idlePrev:/,
|
||||
/kOutHeaders/,
|
||||
/\[Object: null prototype\]/,
|
||||
/axios\/\d+\.\d+/,
|
||||
];
|
||||
|
||||
// =============================================================================
|
||||
|
|
@ -200,8 +207,8 @@ export class PostStartupMonitor {
|
|||
* Process service output - called by ServiceManager.onServiceOutput
|
||||
*/
|
||||
processOutput(serviceId: string, output: string, isError: boolean): void {
|
||||
// Suppress all output during restart to avoid log flood
|
||||
if (this.isRestarting) {
|
||||
// Suppress all output during restart or shutdown to avoid log flood
|
||||
if (this.isRestarting || this.isShuttingDown) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -662,7 +669,22 @@ export class PostStartupMonitor {
|
|||
// ---------------------------------------------------------------------------
|
||||
|
||||
private shouldSuppress(output: string): boolean {
|
||||
return SUPPRESS_PATTERNS.some(pattern => pattern.test(output));
|
||||
// Suppress known noise patterns
|
||||
if (SUPPRESS_PATTERNS.some(pattern => pattern.test(output))) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Suppress lines that look like object dump fragments
|
||||
// (indented lines with property names ending in colon or brackets)
|
||||
const trimmed = output.trim();
|
||||
if (/^\s*[\w_]+:\s*[\[\{]/.test(trimmed) && trimmed.length < 60) {
|
||||
return true;
|
||||
}
|
||||
if (/^\s*[\}\]],?\s*$/.test(trimmed)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private matchesPatterns(output: string, patterns: RegExp[]): boolean {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue