Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function msr (origFunc) {
- origFunc = origFunc || this
- function wrappedFunc () {
- var args = arguments
- var origCb = arguments[args.length - 1]
- var startTime = Date.now()
- function wrapCb () {
- var endTime = Date.now()
- console.log('### Duration in ms', endTime - startTime, 'for', origFunc.name)
- return origCb.apply(this, arguments)
- }
- args[args.length - 1] = wrapCb
- var retVal = origFunc.apply(this, args)
- // var syncCallTime = Date.now()
- return retVal
- }
- return wrappedFunc
- }
- Function.prototype.msr = msr
- //usage
- // to measure
- fs.writeFile('a1.txt', function (err, data) { /* read data */ })
- // change it to
- fs.writeFile.msr()('a1.txt', function (err, data) { /* read data */ })
- // or
- msr(fs.writeFile)('a1.txt', function (err, data) { /* read data */ })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement