feat: Add prometheus middleware to express

This enables collecting metrics from node.js and express.
This commit is contained in:
Frank Nagel
2021-06-02 10:02:44 +02:00
parent d69ac01bbf
commit b42e911a11
4 changed files with 610 additions and 11 deletions

View File

@@ -26,6 +26,7 @@ import {Express} from 'express';
import morgan from 'morgan';
import {join} from 'path';
import {configFile, DEFAULT_TIMEOUT, isTestEnvironment, mailer, plugins, validator} from './common';
import {getPrometheusMiddleware} from './middleware/prometheus';
import {MailQueue} from './notification/mail-queue';
import {bulkAddRouter} from './routes/bulk-add-route';
import {bulkDoneRouter} from './routes/bulk-done-route';
@@ -63,6 +64,10 @@ export async function configureApp(app: Express, databases: {[name: string]: Dat
}, stream: process.stdout,
}));
if (process.env.PROMETHEUS_MIDDLEWARE === 'true') {
app.use(getPrometheusMiddleware());
}
const corsOptions = {
allowedHeaders: [
'DNT',