setTimeout(function(){ if(id < n){ createClient(id); start(); id++; } else{ stats = gauss.Vector(); log(); } }, waitingTimeBetweenConn);
function xyTransform(dataRows, callback){ var tracker = 0; var filtered = gauss.Vector(dataRows.map(function(row){return row.apogee_w_m2})).ema(1).reverse(); var timeStamps = dataRows.map(function(row){return (new Date(String(row.db_time))).getTime()}).reverse(); var dataSet = []; var tmp = {}; for(var i = 0; i < filtered.length ; i ++ ){ tmp.x = timeStamps[i]; tmp.y = filtered[i]; dataSet.push(tmp); tmp = {}; } return JSON.stringify(dataSet); }
pgQuery(queryString2, function(result){ var tracker = 0; var filtered = gauss.Vector(result.rows.map(function(row){return row.bmp085_temp_decic*5})).sma(1).reverse(); var timeStamps = result.rows.map(function(row){return (new Date(String(row.db_time))).getTime()}).reverse(); var dataSet = []; var tmp = {}; for(var i = 0; i < filtered.length ; i ++ ){ tmp.x = timeStamps[i]; tmp.y = filtered[i]; dataSet.push(tmp); tmp = {}; } callback(JSON.stringify(dataSet)); });
} }); cleanup(); function cleanup() { if (lastTime) { frameTimes.push(lastTime); console.log('Frame:', lastTime / 1000, 'ms'); lastTime = undefined; } } // Calculate stats: var gauss = require('gauss'); var stats = new gauss.Vector(frameTimes.map(function(e) { return e / 1000; })); console.log("Stats"); console.log("Mean: (ms) ", stats.mean()); console.log("Stdev:(ms) ", stats.stdev()); var logStats = gauss.Vector(frameTimes.map(function(e) { return Math.log(e / 1000); })); console.log("Log-normal stats"); console.log("Mean: (ms) ", Math.pow(Math.E, logStats.mean())); console.log("Stdev:(ms) ", Math.pow(Math.E, logStats.stdev())); var fs = require('q-fs'); fs.write(file + ".times.csv", frameTimes.join('\n')).done();