aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2026-02-04 13:19:26 +0000
committerMohamed Bassem <me@mbassem.com>2026-02-04 13:19:26 +0000
commite48bae7ce75437e7a10940b21bd8fc0c30d3914d (patch)
treedb3194462331cc370be4e0371070781e8d55684c /apps
parent50320ecd3f516fdb3ca78f7da15999897372fdb1 (diff)
downloadkarakeep-e48bae7ce75437e7a10940b21bd8fc0c30d3914d.tar.zst
fix(import): register improt metrics to the prom registry
Diffstat (limited to 'apps')
-rw-r--r--apps/workers/metrics.ts2
-rw-r--r--apps/workers/workers/importWorker.ts8
2 files changed, 9 insertions, 1 deletions
diff --git a/apps/workers/metrics.ts b/apps/workers/metrics.ts
index 3dc4d2c0..c16c7bd4 100644
--- a/apps/workers/metrics.ts
+++ b/apps/workers/metrics.ts
@@ -1,7 +1,7 @@
import { prometheus } from "@hono/prometheus";
import { Counter, Registry } from "prom-client";
-const registry = new Registry();
+export const registry = new Registry();
export const { printMetrics } = prometheus({
registry: registry,
diff --git a/apps/workers/workers/importWorker.ts b/apps/workers/workers/importWorker.ts
index c5ec3700..654de9e5 100644
--- a/apps/workers/workers/importWorker.ts
+++ b/apps/workers/workers/importWorker.ts
@@ -23,38 +23,46 @@ import { LinkCrawlerQueue, OpenAIQueue } from "@karakeep/shared-server";
import logger, { throttledLogger } from "@karakeep/shared/logger";
import { BookmarkTypes } from "@karakeep/shared/types/bookmarks";
+import { registry } from "../metrics";
+
// Prometheus metrics
const importStagingProcessedCounter = new Counter({
name: "import_staging_processed_total",
help: "Total number of staged items processed",
labelNames: ["result"],
+ registers: [registry],
});
const importStagingStaleResetCounter = new Counter({
name: "import_staging_stale_reset_total",
help: "Total number of stale processing items reset to pending",
+ registers: [registry],
});
const importStagingInFlightGauge = new Gauge({
name: "import_staging_in_flight",
help: "Current number of in-flight items (processing + recently completed)",
+ registers: [registry],
});
const importSessionsGauge = new Gauge({
name: "import_sessions_active",
help: "Number of active import sessions by status",
labelNames: ["status"],
+ registers: [registry],
});
const importStagingPendingGauge = new Gauge({
name: "import_staging_pending_total",
help: "Total number of pending items in staging table",
+ registers: [registry],
});
const importBatchDurationHistogram = new Histogram({
name: "import_batch_duration_seconds",
help: "Time taken to process a batch of staged items",
buckets: [0.1, 0.5, 1, 2, 5, 10, 30],
+ registers: [registry],
});
const backpressureLogger = throttledLogger(60_000);