From 4af2d32b7276c0e95539736850479dd7cd6dd22b Mon Sep 17 00:00:00 2001 From: mrjvs Date: Thu, 25 Jan 2024 22:24:58 +0100 Subject: [PATCH] Add tool metrics --- src/modules/metrics/index.ts | 7 +++++++ src/routes/metrics.ts | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/modules/metrics/index.ts b/src/modules/metrics/index.ts index da35f11..61cc652 100644 --- a/src/modules/metrics/index.ts +++ b/src/modules/metrics/index.ts @@ -13,6 +13,7 @@ export type Metrics = { providerHostnames: Counter<'hostname'>; providerStatuses: Counter<'provider_id' | 'status'>; watchMetrics: Counter<'title' | 'tmdb_full_id' | 'provider_id' | 'success'>; + toolMetrics: Counter<'tool'>; }; let metrics: null | Metrics = null; @@ -59,6 +60,11 @@ export async function setupMetrics(app: FastifyInstance) { help: 'mw_media_watch_count', labelNames: ['title', 'tmdb_full_id', 'provider_id', 'success'], }), + toolMetrics: new Counter({ + name: 'mw_provider_tool_count', + help: 'mw_provider_tool_count', + labelNames: ['tool'], + }), }; const promClient = app.metrics.client; @@ -68,6 +74,7 @@ export async function setupMetrics(app: FastifyInstance) { promClient.register.registerMetric(metrics.providerStatuses); promClient.register.registerMetric(metrics.watchMetrics); promClient.register.registerMetric(metrics.captchaSolves); + promClient.register.registerMetric(metrics.toolMetrics); const orm = getORM(); const em = orm.em.fork(); diff --git a/src/routes/metrics.ts b/src/routes/metrics.ts index e560505..53cf7eb 100644 --- a/src/routes/metrics.ts +++ b/src/routes/metrics.ts @@ -19,6 +19,7 @@ const metricsProviderSchema = z.object({ const metricsProviderInputSchema = z.object({ items: z.array(metricsProviderSchema).max(10).min(1), + tool: z.string().optional(), }); export const metricsRouter = makeRouter((app) => { @@ -65,6 +66,12 @@ export const metricsRouter = makeRouter((app) => { }); } + if (body.tool) { + getMetrics().toolMetrics.inc({ + tool: body.tool + }); + } + return true; }), );