diff options
| author | Mohamed Bassem <me@mbassem.com> | 2026-02-04 13:19:26 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2026-02-04 13:19:26 +0000 |
| commit | e48bae7ce75437e7a10940b21bd8fc0c30d3914d (patch) | |
| tree | db3194462331cc370be4e0371070781e8d55684c /apps | |
| parent | 50320ecd3f516fdb3ca78f7da15999897372fdb1 (diff) | |
| download | karakeep-e48bae7ce75437e7a10940b21bd8fc0c30d3914d.tar.zst | |
fix(import): register improt metrics to the prom registry
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/workers/metrics.ts | 2 | ||||
| -rw-r--r-- | apps/workers/workers/importWorker.ts | 8 |
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); |
