From dbea849e7627aabcd2bb15574285693f85b59f18 Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Wed, 22 Jun 2016 16:46:57 -0300 Subject: [PATCH] fix last day issues + log errors --- lib/stats.js | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/lib/stats.js b/lib/stats.js index 9b7295e..bc57804 100644 --- a/lib/stats.js +++ b/lib/stats.js @@ -82,6 +82,7 @@ Stats.prototype._getNewWallets = function(cb) { }; function updateStats(from, cb) { + var to = moment().subtract(1, 'day').endOf('day'); var map = function() { var day = new Date(this.createdOn * 1000); day.setHours(0); @@ -91,16 +92,25 @@ Stats.prototype._getNewWallets = function(cb) { day: +day, network: this.network, }; - var value = 1; + var value = { + count: 1 + }; emit(key, value); }; var reduce = function(k, v) { - return v.length; + var count = 0; + for (var i = 0; i < v.length; i++) { + count += v[i].count; + } + return { + count: count, + }; }; var opts = { query: { createdOn: { $gt: from.unix(), + $lte: to.unix(), }, }, out: { @@ -127,11 +137,12 @@ Stats.prototype._getNewWallets = function(cb) { }) .toArray(function(err, results) { if (err) return cb(err); - var stats = _.map(results, function(record) { + var stats = {}; + stats.byDay = _.map(results, function(record) { var day = moment(record._id.day).format('YYYYMMDD'); return { day: day, - count: record.value + count: record.value.count, }; }); return cb(null, stats); @@ -154,16 +165,13 @@ Stats.prototype._getNewWallets = function(cb) { }); }, function(next) { - queryStats(function(err, result) { - if (err) return next(err); - var stats = { - byDay: result - }; - return next(null, stats); - }); + queryStats(next); }, ], function(err, res) { + if (err) { + log.error(err); + } return cb(err, res[1]); }); }; @@ -185,6 +193,7 @@ Stats.prototype._getTxProposals = function(cb) { }; function updateStats(from, cb) { + var to = moment().subtract(1, 'day').endOf('day'); var map = function() { var day = new Date(this.broadcastedOn * 1000); day.setHours(0); @@ -201,12 +210,14 @@ Stats.prototype._getTxProposals = function(cb) { emit(key, value); }; var reduce = function(k, v) { - var amount = 0; + var count = 0, + amount = 0; for (var i = 0; i < v.length; i++) { + count += v[i].count; amount += v[i].amount; } return { - count: v.length, + count: count, amount: amount, }; }; @@ -215,6 +226,7 @@ Stats.prototype._getTxProposals = function(cb) { status: 'broadcasted', broadcastedOn: { $gt: from.unix(), + $lte: to.unix(), }, }, out: { @@ -277,13 +289,13 @@ Stats.prototype._getTxProposals = function(cb) { }); }, function(next) { - queryStats(function(err, result) { - if (err) return next(err); - return next(null, result); - }); + queryStats(next); }, ], function(err, res) { + if (err) { + log.error(err); + } return cb(err, res[1]); }); };