import { createLogger, toErrorMeta } from "./shared/logging/logger"; export function registerNodeInstrumentation() { const logger = createLogger("web"); const heartbeatIntervalMs = 5 * 60 * 1000; logger.info("web server starting", { pid: process.pid }); process.on("uncaughtException", (error) => { logger.error("uncaught exception, exiting", toErrorMeta(error)); process.exit(1); }); process.on("unhandledRejection", (reason) => { logger.error("unhandled rejection, exiting", toErrorMeta(reason)); process.exit(1); }); setInterval(() => { const memory = process.memoryUsage(); logger.verbose("heartbeat", { uptimeSeconds: Math.round(process.uptime()), rssMb: Math.round(memory.rss / 1024 / 1024), heapUsedMb: Math.round(memory.heapUsed / 1024 / 1024), }); }, heartbeatIntervalMs).unref(); }