2016-11-30 23:41:57 +01:00
|
|
|
'use strict';
|
|
|
|
|
2017-06-28 10:20:22 +02:00
|
|
|
const { Router } = require('express');
|
2017-06-28 14:21:05 +02:00
|
|
|
const { register: prometheusRegister } = require('prom-client');
|
2016-11-30 23:41:57 +01:00
|
|
|
|
2018-11-24 12:48:19 +01:00
|
|
|
class BackstageController {
|
|
|
|
constructor(config) {
|
|
|
|
const router = Router();
|
2017-06-28 10:20:22 +02:00
|
|
|
|
2018-11-24 12:48:19 +01:00
|
|
|
if (config.serverMetrics) {
|
|
|
|
router.get('/prometheus', (req, res) => {
|
|
|
|
res.set('Content-Type', prometheusRegister.contentType);
|
|
|
|
res.end(prometheusRegister.metrics());
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
this.app = router;
|
|
|
|
}
|
|
|
|
|
|
|
|
router() {
|
|
|
|
return this.app;
|
2016-11-30 23:41:57 +01:00
|
|
|
}
|
2018-11-24 12:48:19 +01:00
|
|
|
}
|
2017-06-28 10:20:22 +02:00
|
|
|
|
2018-11-24 12:48:19 +01:00
|
|
|
module.exports = BackstageController;
|