diff --git a/apps/webapp/app/routes/metrics.ts b/apps/webapp/app/routes/metrics.ts index ab19350968..f5e9931e66 100644 --- a/apps/webapp/app/routes/metrics.ts +++ b/apps/webapp/app/routes/metrics.ts @@ -13,10 +13,14 @@ export async function loader({ request }: LoaderFunctionArgs) { } } - const prismaMetrics = await prisma.$metrics.prometheus(); + // We need to remove empty lines from the prisma metrics, grafana doesn't like them + const prismaMetrics = (await prisma.$metrics.prometheus()).replace(/^\s*[\r\n]/gm, ""); const coreMetrics = await metricsRegister.metrics(); - return new Response(coreMetrics + prismaMetrics, { + // Order matters, core metrics end with `# EOF`, prisma metrics don't + const metrics = prismaMetrics + coreMetrics; + + return new Response(metrics, { headers: { "Content-Type": metricsRegister.contentType, },