From 9c7d0cbfa6cb1cb1948435180f6e85510be79f6b Mon Sep 17 00:00:00 2001 From: Danilo Hoffmann Date: Thu, 17 Aug 2023 11:29:10 +0200 Subject: [PATCH] feat: report memory per pm2 process --- src/ssr/server-scripts/prometheus.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/ssr/server-scripts/prometheus.js b/src/ssr/server-scripts/prometheus.js index c29930452b..cf7dd93261 100644 --- a/src/ssr/server-scripts/prometheus.js +++ b/src/ssr/server-scripts/prometheus.js @@ -22,7 +22,7 @@ const pm2ProcessRestarts = new client.Gauge({ const pm2Memory = new client.Gauge({ name: 'pm2_memory', help: 'counter for pm2 memory', - labelNames: ['name'], + labelNames: ['name', 'pm2_id'], }); const pm2GetmetricsSuccess = new client.Counter({ name: 'pm2_getmetrics_success', @@ -85,12 +85,8 @@ app.get('/metrics', (_, res) => { Object.entries(pm2ProcessCounts).forEach(([name, value]) => { pm2Processes.labels({ name }).set(value); }); - const pm2ProcessMemory = list.reduce( - (acc, p) => ({ ...acc, [p.name]: (acc[p.name] || 0) + p.monit?.memory || 0 }), - {} - ); - Object.entries(pm2ProcessMemory).forEach(([name, value]) => { - pm2Memory.labels({ name }).set(value); + list.forEach(({ name, pm_id, monit }) => { + pm2Memory.labels({ name, pm2_id: pm_id }).set(monit?.memory || 0); }); const pm2Restarts = list.reduce( (acc, p) => ({ ...acc, [p.name]: (acc[p.name] || 0) + p.pm2_env.restart_time || 0 }),