FaC: Das alte Flag von Terminen, die in die Zeiterfassung übernommen worden sind, wird ebenfalls berücksichtigt.
23 lines
642 B
JavaScript
23 lines
642 B
JavaScript
var log = require('./log')('[perf]')
|
|
, client = require('./client')
|
|
|
|
module.exports = function perf(fn, msg, say) {
|
|
return function(){
|
|
/* istanbul ignore next */
|
|
var start = client ? performance.now() : process.hrtime()
|
|
, retval = fn.apply(this, arguments)
|
|
|
|
retval instanceof Promise
|
|
? retval.then(function(){ report(start) })
|
|
: report(start)
|
|
|
|
return retval
|
|
}
|
|
|
|
function report(start){
|
|
var diff = client ? performance.now() - start : process.hrtime(start)
|
|
if (!client) diff = (diff[0]*1e3 + diff[1]/1e6)
|
|
diff = Math.round(diff*100)/100
|
|
;(say || log)(msg || fn.name, diff, 'ms')
|
|
}
|
|
} |