pandora-metrics
Version:
## Overview
55 lines • 1.98 kB
JavaScript
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
;