summaryrefslogtreecommitdiffstats
path: root/lib/utils/timing.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils/timing.js')
-rw-r--r--lib/utils/timing.js97
1 files changed, 0 insertions, 97 deletions
diff --git a/lib/utils/timing.js b/lib/utils/timing.js
deleted file mode 100644
index e6b0323..0000000
--- a/lib/utils/timing.js
+++ /dev/null
@@ -1,97 +0,0 @@
-var Immutable = require('immutable');
-var is = require('is');
-
-var timers = {};
-var startDate = Date.now();
-
-/**
- Mesure an operation
-
- @parqm {String} type
- @param {Promise} p
- @return {Promise}
-*/
-function measure(type, p) {
- timers[type] = timers[type] || {
- type: type,
- count: 0,
- total: 0,
- min: undefined,
- max: 0
- };
-
- var start = Date.now();
-
- return p
- .fin(function() {
- var end = Date.now();
- var duration = (end - start);
-
- timers[type].count ++;
- timers[type].total += duration;
-
- if (is.undefined(timers[type].min)) {
- timers[type].min = duration;
- } else {
- timers[type].min = Math.min(timers[type].min, duration);
- }
-
- timers[type].max = Math.max(timers[type].max, duration);
- });
-}
-
-/**
- Return a milliseconds number as a second string
-
- @param {Number} ms
- @return {String}
-*/
-function time(ms) {
- if (ms < 1000) {
- return (ms.toFixed(0)) + 'ms';
- }
-
- return (ms/1000).toFixed(2) + 's';
-}
-
-/**
- Dump all timers to a logger
-
- @param {Logger} logger
-*/
-function dump(logger) {
- var prefix = ' > ';
- var measured = 0;
- var totalDuration = Date.now() - startDate;
-
- // Enable debug logging
- var logLevel = logger.getLevel();
- logger.setLevel('debug');
-
- Immutable.Map(timers)
- .valueSeq()
- .sortBy(function(timer) {
- measured += timer.total;
- return timer.total;
- })
- .forEach(function(timer) {
- var percent = (timer.total * 100) / totalDuration;
-
-
- logger.debug.ln((percent.toFixed(1)) + '% of time spent in "' + timer.type + '" (' + timer.count + ' times) :');
- logger.debug.ln(prefix + 'Total: ' + time(timer.total)+ ' | Average: ' + time(timer.total / timer.count));
- logger.debug.ln(prefix + 'Min: ' + time(timer.min) + ' | Max: ' + time(timer.max));
- logger.debug.ln('---------------------------');
- });
-
-
- logger.debug.ln(time(totalDuration - measured) + ' spent in non-mesured sections');
-
- // Rollback to previous level
- logger.setLevel(logLevel);
-}
-
-module.exports = {
- measure: measure,
- dump: dump
-};