Skip to content

Time async functions using async-done for execution and completion.

License

Notifications You must be signed in to change notification settings

phated/async-time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

async-time

Build Status

Time async functions using async-done for execution and completion.

Usage

var EE = require('events').EventEmitter;

var createTimer = require('async-time');

var bus = new EE();
var asyncTime = createTimer(bus);

// listen for timing events
bus.on('start', function(evt){
  // function has started
  console.log(evt);
});

bus.on('stop', function(evt){
  // function has stopped
  console.log(evt);
});

asyncTime(function(cb){
  // do async things
  cb(null, 2);
}, function(err, res){
  // `error` will be undefined on successful execution of the first function.
  // `result` will be the result from the first function.
})

API

Once a timing function is created, it is used the same as async-done.

createTimer(EventEmitter) => Function

The main export is a function that allows you to create a timing function.

You must pass it an EventEmitter instance (or an object with emit and on methods) or it will throw.

The EventEmitter instance is the bus timing events are published on.

asyncTime(fn, callback)

See async-done docs.

Events

start

The event fired when a function begins.

Properties:

  • id: uuid generated for each function. Useful for tying start and end events together.
  • name: name property of the function given to asyncTime.
  • timestamp: timestamp of when the function started.

stop

The event fired when a function finishes.

Properties:

  • id: uuid generated for each function. Useful for tying start and end events together.
  • name: name property of the function given to asyncTime.
  • timestamp: timestamp of when the function started.
  • duration: high resolution time between start and stop events. Generated by process.hrtime(startTime)

About

Time async functions using async-done for execution and completion.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published