New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

hrtime-decorator

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hrtime-decorator

A decorator to help measure any routine in high resolution

latest
Source
npmnpm
Version
1.0.3
Version published
Maintainers
1
Created
Source

Timer Decorator

Decorate any function to produce simple, high resolution logs of the time it took to complete the function.

  • uses node's process.hrtime
  • emits duration reports so you can time multiple processes at once
  • automatically averages durations
  • inject a custom logger

This is for testing only, not for production!

Example


var timer = require('timer-decorator');

myFunction = timer(myFunction, 'customName');

for (var k = 10; k > 0; k--) {
  myFunction();
}


// [TIMER] "customName"	0.096919ms	(0.096919 avg)
// [TIMER] "customName"	0.009224ms	(0.0530715 avg)
// [TIMER] "customName"	0.010581ms	(0.038908 avg)
// [TIMER] "customName"	0.011152ms	(0.031969 avg)
// [TIMER] "customName"	0.012558ms	(0.028086800000000002 avg)
// [TIMER] "customName"	0.011086ms	(0.025253333333333336 avg)
// [TIMER] "customName"	0.006635ms	(0.02259357142857143 avg)
// [TIMER] "customName"	0.012483ms	(0.02132975 avg)
// [TIMER] "customName"	0.011924ms	(0.020284666666666666 avg)

Use custom logger

function myCustomLogger (msg) {
  console.log(msg.toUpperCase());
}

timer.reporter.setLogger(myCustomLogger);

TODO:

  • better tests
  • investigate safeguard against memory leak in the decorator's store array

Keywords

timer

FAQs

Package last updated on 14 Sep 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts