@heycharles/server-timing
Version:
This module can add `ServerTiming` Header to http response, and be able to use express middleware
38 lines (31 loc) • 671 B
JavaScript
class Timer {
constructor () {
this._times = new Map()
}
time (name, description) {
this._times.set(name, {
name: name,
description: description,
start: process.hrtime()
})
}
timeEnd (name) {
const timeObj = this._times.get(name)
if (!timeObj) {
return console.warn(`No such name ${name}`)
}
const duration = process.hrtime(timeObj.start)
const value = (duration[0] * 1E3) + (duration[1] * 1e-6)
timeObj.value = value
this._times.delete(name)
return timeObj
}
clear () {
this._times.clear()
}
keys () {
return this._times.keys()
}
}
module.exports = Timer