Skip to content

mbrandau/timings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

timings.js

Build Status David Coveralls npm npm GitHub issues

Monitor the time you spent on certain tasks.

Usage

Install and save the package to your project using npm i --save timings.js

Requiring the package

const timings = require('timings.js');

Creating a tracker

const basicTracker = timings(); // Create a new tracker
const namedTracker = timings('myTracker'); // Create another tracker with a name to save the times

Basic usage

basicTracker(); // Call the tracker method each time you want to start to track a duration
myTimeConsumingTask();
const duration = basicTracker(); // Get the time difference to last basicTracker() call in milliseconds

console.log(`Task finished in ${duration}ms`);

Saving the times and getting average values

for (let i = 0; i < 1000; i++) {
  namedTracker();
  myTimeConsumingTask();
  namedTracker('myTimeConsumingTask'); // By calling the tracker method of a named tracker
                                       // with a item name, the duration will be saved
                                       // and put into an array with all the other durations
                                       // of the same tracker and item name to calculate
                                       // average values.
}

const avgResult = timings.getAverage('myTracker', 'myTimeConsumingTask');

console.log(`Average duration was ${avgResult.average}ms based on ${avgResult.times} collected durations`);

Documentation

timings.getTimings(trackerName, itemName)

Returns an array of collected durations of the specific item.

Usage example

const durations = timings.getTimings('myTracker', 'myTimeConsumingTask');

timings.getAverage(trackerName, itemName)

Returns an object with the properties times and average.

Usage example

const result = timings.getAverage('myTracker', 'myTimeConsumingTask');

// result:
{
  times: 1000, // Amount of durations used to calculate the average value
  average: 648.19489136 // The average value of all used durations in milliseconds
}