diff options
Diffstat (limited to 'deps/node/deps/npm/lib/utils/perf.js')
-rw-r--r-- | deps/node/deps/npm/lib/utils/perf.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/deps/node/deps/npm/lib/utils/perf.js b/deps/node/deps/npm/lib/utils/perf.js new file mode 100644 index 00000000..d3148607 --- /dev/null +++ b/deps/node/deps/npm/lib/utils/perf.js @@ -0,0 +1,26 @@ +'use strict' +var log = require('npmlog') +var EventEmitter = require('events').EventEmitter +var perf = new EventEmitter() +module.exports = perf + +var timings = {} + +process.on('time', time) +process.on('timeEnd', timeEnd) + +perf.on('time', time) +perf.on('timeEnd', timeEnd) + +function time (name) { + timings[name] = Date.now() +} + +function timeEnd (name) { + if (name in timings) { + perf.emit('timing', name, Date.now() - timings[name]) + delete timings[name] + } else { + log.silly('timing', "Tried to end timer that doesn't exist:", name) + } +} |