27 lines
548 B
JavaScript
27 lines
548 B
JavaScript
'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)
|
|
}
|
|
}
|