import { performance } from "node:perf_hooks"; performance.mark("startup-begin"); import log from "loglevel"; import { server, metricsServer } from "./app"; log.setLevel((import.meta.env["LOG_LEVEL"] || "info") as log.LogLevelDesc); const metricsServed = Bun.serve(metricsServer); log.info(`Metrics server started on port ${metricsServed.port}`); const served = Bun.serve(server); log.info(`Serving website on ${served.url}`); process.on("SIGTERM", function () { log.info("SIGTERM received, shutting down..."); metricsServed.stop(); served.stop(); process.exit(0); }); process.on("SIGINT", function () { log.info("SIGINT received, shutting down..."); metricsServed.stop(); served.stop(); process.exit(0); }); performance.mark("startup-end"); performance.measure("startup", "startup-begin", "startup-end"); for (const entry of performance.getEntriesByName("startup")) { log.info(`Startup took ${entry.duration} ms`); }