From f030c328137dc72340fa52e35d9d2c908802aa20 Mon Sep 17 00:00:00 2001 From: undefined Date: Sun, 16 Oct 2022 21:02:47 +0800 Subject: [PATCH] prom: fix multi-machine --- packages/prom-client/index.ts | 4 +++- packages/prom-client/package.json | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/prom-client/index.ts b/packages/prom-client/index.ts index b243ca6d0..15c5aacf6 100644 --- a/packages/prom-client/index.ts +++ b/packages/prom-client/index.ts @@ -1,3 +1,4 @@ +import { hostname } from 'os'; import { AggregatorRegistry, metric } from 'prom-client'; import { Context, Handler, SystemModel } from 'hydrooj'; import { createRegistry } from './metrics'; @@ -39,10 +40,11 @@ class MetricsHandler extends Handler { } export function apply(ctx: Context) { + if (process.env.HYDRO_CLI) return; const registry = createRegistry(ctx); ctx.on('metrics', (id, metrics) => { instances[id] = metrics; }); ctx.setInterval(async () => { - ctx.broadcast('metrics', process.env.NODE_APP_INSTANCE!, await registry.getMetricsAsJSON()); + ctx.broadcast('metrics', `${hostname()}/${process.env.NODE_APP_INSTANCE}`, await registry.getMetricsAsJSON()); }, 5000 * (+SystemModel.get('prom-client.collect_rate') || 1)); ctx.Route('metrics', '/metrics', MetricsHandler); } diff --git a/packages/prom-client/package.json b/packages/prom-client/package.json index 9cc703db4..ded73a611 100644 --- a/packages/prom-client/package.json +++ b/packages/prom-client/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/prom-client", - "version": "0.1.0", + "version": "0.1.1", "main": "index.ts", "dependencies": { "prom-client": "^14.1.0"