UNPKG

vulcain-corejs

Version:
30 lines (28 loc) 898 B
"use strict"; class PercentileBucket { constructor(dataLength = 100) { this.dataLength = dataLength; this.pos = 0; this.length = 0; this.bucketValues = []; } addValue(value) { this.bucketValues[this.pos] = value; this.pos = (this.pos + 1) % this.dataLength; // roll over if (this.length < this.dataLength) this.length = this.length + 1; } get values() { if (this.length === 0) return null; return this.length < this.dataLength ? this.bucketValues.slice(0, this.length) : this.bucketValues; } reset(windowStart) { this.windowStart = windowStart; this.pos = this.length = 0; this.bucketValues = []; } } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = PercentileBucket; //# sourceMappingURL=percentileBucket.js.map