@loopback/metrics
Version:
An extension exposes metrics for Prometheus with LoopBack 4
33 lines • 1.28 kB
JavaScript
// Copyright IBM Corp. and LoopBack contributors 2019,2020. All Rights Reserved.
// Node module: @loopback/metrics
// This file is licensed under the MIT License.
// License text available at https://opensource.org/licenses/MIT
Object.defineProperty(exports, "__esModule", { value: true });
exports.MetricsObserver = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@loopback/core");
const prom_client_1 = require("prom-client");
const keys_1 = require("../keys");
const types_1 = require("../types");
/**
* An observer to set default Node.js metrics collection
*/
let MetricsObserver = class MetricsObserver {
constructor(options = types_1.DEFAULT_METRICS_OPTIONS) {
this.options = options;
}
start() {
const defaultMetricsConfig = this.options.defaultMetrics;
(0, prom_client_1.collectDefaultMetrics)(defaultMetricsConfig);
}
stop() {
prom_client_1.register.clear();
}
};
exports.MetricsObserver = MetricsObserver;
exports.MetricsObserver = MetricsObserver = tslib_1.__decorate([
tslib_1.__param(0, (0, core_1.config)({ fromBinding: keys_1.MetricsBindings.COMPONENT })),
tslib_1.__metadata("design:paramtypes", [Object])
], MetricsObserver);
//# sourceMappingURL=metrics.observer.js.map
;