realm-object-server-enterprise
Version:
Realm Object Server Enterprise
53 lines • 2.56 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
Object.defineProperty(exports, "__esModule", { value: true });
const promClient = require("prom-client");
const promGc = require("prometheus-gc-stats");
const realm_object_server_1 = require("realm-object-server");
let MetricsService = class MetricsService {
constructor(registry, statsSink) {
this.registry = registry;
if (statsSink) {
console.warn("The 'statsSink' parameter is unused and will be removed in a future version.");
}
}
start(server) {
promClient.collectDefaultMetrics({ register: this.registry });
promGc(this.registry);
}
getMetrics(request, res) {
res.setHeader('Content-Type', this.registry.contentType);
res.send(this.registry.metrics());
}
};
__decorate([
realm_object_server_1.Start(),
__metadata("design:type", Function),
__metadata("design:paramtypes", [realm_object_server_1.Server]),
__metadata("design:returntype", void 0)
], MetricsService.prototype, "start", null);
__decorate([
realm_object_server_1.Get("/"),
__param(1, realm_object_server_1.Response()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object, Object]),
__metadata("design:returntype", void 0)
], MetricsService.prototype, "getMetrics", null);
MetricsService = __decorate([
realm_object_server_1.BaseRoute("/metrics"),
realm_object_server_1.ServiceName("prometheus-metrics"),
__metadata("design:paramtypes", [promClient.Registry, realm_object_server_1.stats.PrometheusStatsSink])
], MetricsService);
exports.MetricsService = MetricsService;
//# sourceMappingURL=MetricsService.js.map