Files
electric-cherry/src/lib/server/performance.ts
T

18 lines
605 B
TypeScript

import { monitorEventLoopDelay } from 'node:perf_hooks';
let started = false;
export function startPerformanceMonitor() {
if (started || process.env.EC_PERF_LOG !== 'true') return;
started = true;
const delay = monitorEventLoopDelay({ resolution: 20 });
delay.enable();
setInterval(() => {
console.info('[performance]', {
eventLoopP95Ms: Math.round(delay.percentile(95) / 1e6),
eventLoopMaxMs: Math.round(delay.max / 1e6),
rssMiB: Math.round(process.memoryUsage().rss / 1048576)
});
delay.reset();
}, 60_000).unref();
}