UNPKG

pandora-metrics

Version:
46 lines 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const MetricsInjectionBridge_1 = require("./util/MetricsInjectionBridge"); const debug = require('debug')('pandora:metrics:service'); const default_1 = require("./conf/default"); const MetricsActuatorManager_1 = require("./MetricsActuatorManager"); const extend = require("extend"); class MetricsActuatorServer { constructor(options) { this.logger = options.logger; debug('init metrics manager'); // 初始化 metrics server // 理论上这个应该在 metricsEndPoint 里初始化,这里提前,因为 reporter 要用 this.metricsManager = options.metricsManager; this.metricsManager.setLogger(this.logger); // set metricsManager for some endPoint MetricsInjectionBridge_1.MetricsInjectionBridge.setMetricsManager(this.metricsManager); debug('init actuator manager'); // 初始化 actuators this.actuatorManager = new MetricsActuatorManager_1.MetricsActuatorManager({ logger: this.logger, config: extend(true, {}, default_1.default, options.config || {}), }); } getMetricsManager() { return this.metricsManager; } getEndPointService() { return this.actuatorManager.endPointService; } registerEndPoint(endPoint) { this.getEndPointService().register(endPoint); } stop() { this.metricsManager.setEnabled(false); } restart() { this.metricsManager.setEnabled(true); } destroy() { this.metricsManager.destory(); this.actuatorManager.destory(); } } exports.MetricsActuatorServer = MetricsActuatorServer; //# sourceMappingURL=MetricsActuatorServer.js.map