71 lines
1.7 KiB
JavaScript
71 lines
1.7 KiB
JavaScript
var Histogram = require("metrics/metrics/histogram");
|
|
|
|
var clear = function(h) {
|
|
return function() {
|
|
h.clear();
|
|
};
|
|
};
|
|
|
|
var _update = function(h, v) {
|
|
return function() {
|
|
h.update(v);
|
|
};
|
|
};
|
|
|
|
var _percentiles = function(h, ptiles) {
|
|
return function() {
|
|
var scoresM = h.percentiles(ptiles);
|
|
var scores = [];
|
|
for (var i = 0; i < ptiles.length; i++) {
|
|
scores.push(scoresM[ptiles[i]]);
|
|
}
|
|
if (scores[0]) {
|
|
return scores;
|
|
}
|
|
return null;
|
|
};
|
|
};
|
|
|
|
var _variance = function(h) {
|
|
return function() {
|
|
var v = h.variance();
|
|
return isNaN(v) ? null : v;
|
|
};
|
|
};
|
|
var _mean = function(h) { return function() { return h.mean(); }; };
|
|
var _stdDev = function(h) {
|
|
return function() {
|
|
var d = h.stdDev();
|
|
return isNaN(d) ? null : d;
|
|
};
|
|
};
|
|
var _min = function(h) { return function() { return h.min; }; };
|
|
var _max = function(h) { return function() { return h.max; }; };
|
|
var _sum = function(h) { return function() { return h.sum; }; };
|
|
var count = function(h) { return function() { return h.count; }; };
|
|
|
|
var _newWithExponentialDecaySampling = function(size, alpha) {
|
|
return function() {
|
|
return Histogram.createExponentialDecayHistogram(size, alpha);
|
|
};
|
|
};
|
|
|
|
var newWithUniformSampling = function(size) {
|
|
return function() {
|
|
return Histogram.createUniformHistogram(size);
|
|
};
|
|
};
|
|
|
|
exports.clear = clear;
|
|
exports._update = _update;
|
|
exports._percentiles = _percentiles;
|
|
exports._variance = _variance;
|
|
exports._mean = _mean;
|
|
exports._stdDev = _stdDev;
|
|
exports._min = _min;
|
|
exports._max = _max;
|
|
exports._sum = _sum;
|
|
exports.count = count;
|
|
exports._newWithExponentialDecaySampling = _newWithExponentialDecaySampling;
|
|
exports.newWithUniformSampling = newWithUniformSampling;
|