aboutsummaryrefslogtreecommitdiffstats
path: root/packages/api/routes
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-07-06 18:07:56 +0000
committerMohamed Bassem <me@mbassem.com>2025-07-06 18:09:05 +0000
commitb60ece578304df21602d39c7022a7a4dbc6437e0 (patch)
treea5e3395b0b3b5c9bb01566bf68aa21334fd13784 /packages/api/routes
parentcfa0385b4dcd37f9cc29a15f94a59a4f48dd05fb (diff)
downloadkarakeep-b60ece578304df21602d39c7022a7a4dbc6437e0.tar.zst
feat: Add prometheus monitoring. Fixes #758
Diffstat (limited to 'packages/api/routes')
-rw-r--r--packages/api/routes/metrics.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/api/routes/metrics.ts b/packages/api/routes/metrics.ts
new file mode 100644
index 00000000..90eff5b9
--- /dev/null
+++ b/packages/api/routes/metrics.ts
@@ -0,0 +1,16 @@
+// Import stats to register Prometheus metrics
+import "@karakeep/trpc/stats";
+
+import { prometheus } from "@hono/prometheus";
+import { Hono } from "hono";
+import { register } from "prom-client";
+
+import { prometheusAuthMiddleware } from "../middlewares/prometheusAuth";
+
+export const { printMetrics, registerMetrics } = prometheus({
+ registry: register,
+});
+
+const app = new Hono().get("/", prometheusAuthMiddleware, printMetrics);
+
+export default app;