aboutsummaryrefslogtreecommitdiffstats
path: root/packages/api
diff options
context:
space:
mode:
Diffstat (limited to 'packages/api')
-rw-r--r--packages/api/index.ts17
-rw-r--r--packages/api/package.json1
2 files changed, 17 insertions, 1 deletions
diff --git a/packages/api/index.ts b/packages/api/index.ts
index 3df7b429..ac31c977 100644
--- a/packages/api/index.ts
+++ b/packages/api/index.ts
@@ -1,9 +1,11 @@
+import { httpInstrumentationMiddleware } from "@hono/otel";
import { Hono } from "hono";
import { cors } from "hono/cors";
import { logger as loggerMiddleware } from "hono/logger";
import { poweredBy } from "hono/powered-by";
import { loadAllPlugins } from "@karakeep/shared-server";
+import serverConfig from "@karakeep/shared/config";
import logger from "@karakeep/shared/logger";
import { Context } from "@karakeep/trpc";
@@ -52,7 +54,20 @@ const app = new Hono<{
logger.info(str);
}),
)
- .use(poweredBy())
+ .use(poweredBy());
+
+// Add OpenTelemetry middleware if tracing is enabled
+if (serverConfig.tracing.enabled) {
+ app.use(
+ "*",
+ httpInstrumentationMiddleware({
+ serviceName: `${serverConfig.tracing.serviceName}-api`,
+ serviceVersion: serverConfig.serverVersion ?? "unknown",
+ }),
+ );
+}
+
+app
.use(
cors({
origin: "*",
diff --git a/packages/api/package.json b/packages/api/package.json
index b5d90f03..e49204b9 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -13,6 +13,7 @@
"test": "vitest"
},
"dependencies": {
+ "@hono/otel": "^1.1.0",
"@hono/prometheus": "^1.0.2",
"@hono/trpc-server": "^0.4.0",
"@hono/zod-validator": "^0.5.0",