unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
51 lines • 1.59 kB
JavaScript
export const fakeImpactMetricsResolver = () => {
const counters = new Map();
const gauges = new Map();
const histograms = new Map();
const resolver = {
defineCounter(name, help) {
counters.set(name, { value: 0, help });
},
defineGauge(name, help) {
gauges.set(name, { value: 0, help });
},
defineHistogram(name, help, buckets) {
const defaultBuckets = buckets || [
0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10,
];
histograms.set(name, {
count: 0,
sum: 0,
help,
buckets: defaultBuckets,
});
},
incrementCounter(name, value = 1) {
const counter = counters.get(name);
if (!counter) {
return;
}
counter.value += value;
counters.set(name, counter);
},
updateGauge(name, value) {
const gauge = gauges.get(name);
if (!gauge) {
return;
}
gauge.value = value;
gauges.set(name, gauge);
},
observeHistogram(name, value) {
const histogram = histograms.get(name);
if (!histogram) {
return;
}
histogram.count++;
histogram.sum += value;
histograms.set(name, histogram);
},
};
return { ...resolver, counters, gauges, histograms };
};
//# sourceMappingURL=fake-impact-metrics.js.map