refactor: move to express-prom-bundle for monitoring

This commit is contained in:
Rainer Killinger
2022-08-19 10:31:30 +02:00
parent 9e1017edfb
commit c2b0d22a25
4 changed files with 73 additions and 581 deletions

View File

@@ -13,13 +13,10 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {Logger} from '@openstapps/logger';
import express from 'express';
import expressPrometheusMiddleware from 'express-prometheus-middleware';
import express_prom_bundle from 'express-prom-bundle';
import fs from 'fs';
import path from 'path';
type UserOptions = Parameters<typeof expressPrometheusMiddleware>[0];
/**
* Create and configure a new Express Prometheus Middleware instance
*
@@ -29,15 +26,15 @@ type UserOptions = Parameters<typeof expressPrometheusMiddleware>[0];
*
* @returns express.Express
*/
export function getPrometheusMiddleware(): express.Express {
export function getPrometheusMiddleware(): express_prom_bundle.Middleware {
const configFileName = path.join('./config', 'prometheus.json');
let options: UserOptions = {};
let options: express_prom_bundle.Opts = {};
try {
options = JSON.parse(fs.readFileSync(configFileName, 'utf8'));
} catch (error) {
Logger.warn('Could not get options for Prometheus Middleware.', error);
Logger.warn("Couldn't get options from config file for Prometheus Middleware.", error);
}
return expressPrometheusMiddleware(options);
return express_prom_bundle(options);
}