UNPKG

traces

Version:

Distributed tracing library

79 lines (63 loc) 1.07 kB
/** * Sum. */ exports.sum = function(data){ var n = 0; for (var i = 0; i < data.length; i++) { n += data[i]; } return n; }; /** * Mean. */ exports.mean = function(data){ var sum = exports.sum(data); return sum / data.length; }; /** * Mean values. */ exports.meanValues = function(obj){ var data = Object.keys(obj).map(function(key){ return obj[key]; }); return exports.mean(data); }; /** * Variance. */ exports.variance = function(data){ var m = exports.mean(data); var d = []; for (var i = 0; i < data.length; i++) { d.push(Math.pow(data[i] - m, 2)); } return exports.mean(d); }; /** * Standard deviation. */ exports.stddev = function(data){ return Math.sqrt(exports.variance(data)); }; /** * Min. */ exports.min = function(data){ var n = data[0]; for (var i = 1; i < data.length; i++) { n = n < data[i] ? n : data[i]; } return n; }; /** * Max. */ exports.max = function(data){ var n = data[0]; for (var i = 1; i < data.length; i++) { n = n > data[i] ? n : data[i]; } return n; };