summaryrefslogtreecommitdiff
path: root/deps/npm/lib/utils/perf.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/lib/utils/perf.js')
-rw-r--r--deps/npm/lib/utils/perf.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/deps/npm/lib/utils/perf.js b/deps/npm/lib/utils/perf.js
new file mode 100644
index 0000000000..0423263225
--- /dev/null
+++ b/deps/npm/lib/utils/perf.js
@@ -0,0 +1,27 @@
+'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) {
+ process.emit('timing', name, Date.now() - timings[name])
+ delete timings[name]
+ } else {
+ log.silly('timing', "Tried to end timer that doesn't exist:", name)
+ return
+ }
+}