unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
32 lines • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.collapseHourlyMetrics = void 0;
const date_fns_1 = require("date-fns");
const createMetricKey = (metric) => {
return [
metric.featureName,
metric.appName,
metric.environment,
metric.timestamp.getTime(),
].join();
};
const collapseHourlyMetrics = (metrics) => {
const grouped = new Map();
metrics.forEach((metric) => {
const hourlyMetric = {
...metric,
timestamp: (0, date_fns_1.startOfHour)(metric.timestamp),
};
const key = createMetricKey(hourlyMetric);
if (!grouped[key]) {
grouped[key] = hourlyMetric;
}
else {
grouped[key].yes = metric.yes + (grouped[key].yes || 0);
grouped[key].no = metric.no + (grouped[key].no || 0);
}
});
return Object.values(grouped);
};
exports.collapseHourlyMetrics = collapseHourlyMetrics;
//# sourceMappingURL=collapseHourlyMetrics.js.map