UNPKG

pandora-metrics

Version:
55 lines 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const MetricsCollectPeriodConfig_1 = require("./MetricsCollectPeriodConfig"); const Histogram_1 = require("./metrics/Histogram"); const Counter_1 = require("./metrics/Counter"); const Meter_1 = require("./metrics/Meter"); const Timer_1 = require("./metrics/Timer"); const BucketCounter_1 = require("./metrics/BucketCounter"); const Reservoir_1 = require("./Reservoir"); const FastCompass_1 = require("./metrics/FastCompass"); class MetricBuilder { } MetricBuilder.config = MetricsCollectPeriodConfig_1.MetricsCollectPeriodConfig.getInstance(); MetricBuilder.COUNTERS = { newMetric(name) { return new BucketCounter_1.BucketCounter(MetricBuilder.config.period(name.getMetricLevel())); }, isInstance(metric) { return metric instanceof Counter_1.BaseCounter; } }; MetricBuilder.HISTOGRAMS = { newMetric(name, type = Reservoir_1.ReservoirType.EXPONENTIALLY_DECAYING) { return new Histogram_1.BaseHistogram(type, MetricBuilder.config.period(name.getMetricLevel())); }, isInstance(metric) { return metric instanceof Histogram_1.BaseHistogram; } }; MetricBuilder.METERS = { newMetric(name) { return new Meter_1.BaseMeter(MetricBuilder.config.period(name.getMetricLevel())); }, isInstance(metric) { return metric instanceof Meter_1.BaseMeter; } }; MetricBuilder.TIMERS = { newMetric(name) { return new Timer_1.BaseTimer(MetricBuilder.config.period(name.getMetricLevel())); }, isInstance(metric) { return metric instanceof Timer_1.BaseTimer; } }; MetricBuilder.FASTCOMPASSES = { newMetric(name) { return new FastCompass_1.BaseFastCompass(MetricBuilder.config.period(name.getMetricLevel())); }, isInstance(metric) { return metric instanceof FastCompass_1.BaseFastCompass; } }; exports.MetricBuilder = MetricBuilder; //# sourceMappingURL=MetricBuilder.js.map