measure-it

1.0.1 • Public • Published

measure-it

NPM version NPM downloads Build Status

Measure performance of code blocks

Install

npm install measure-it --save

Usage

Measure One

const measureOf = require('measure-it');
 
let measure = measureOf('Awesome Code').start();
 
awesomeCode();
 
console.log(measure.get());
// 10
 
console.log(measure.serialize());
// <Awesome Code> 10

Measure Multiple Groups

const measureOf = require('measure-it');
 
let measure = measureOf('Awesome Code');
 
measure.start('block 1');
 
awesomeCode();
 
measure.stop('block 1').start('block 2');
 
awesomeCode();
 
measure.stop('block 2');
 
console.log(measure.get('block 1'));
// 11
console.log(measure.get('block 2'));
// 12
 
console.log(measure.serialize());
// <Awesome Code> block 1: 11, block 2: 12

Measure Asynchronous Code Blocks

const measureOf = require('measure-it');
 
let measure = measureOf('Awesome Code');
 
measure.start('block 1');
 
setTimeout(() => {
  measure.stop('block 1').start('block 2');
  console.log(measure.get('block 1'));
  // 1000
 
  setTimeout(() => {
    measure.stop('block 2');
    console.log(measure.get('block 2'));
    // 1000
 
    console.log(measure.serialize());
    // <Awesome Code> block 1: 1000, block 2: 1000
  }, 1000);
}, 1000);

Start / Stop Multiple Groups At Once

const measureOf = require('measure-it');
 
let measure = measureOf('Awesome Code').start('block 1', 'block 2', 'block 3');
 
awesomeCode();
 
measure.stop('block 1');
 
awesomeCode();
 
measure.stop('block 2', 'block 3');
 
console.log(measure.get('block 1'));
// 10
console.log(measure.get('block 2'));
// 20
console.log(measure.get('block 3'));
// 20
 
console.log(measure.serialize());
// <Awesome Code> block 1: 10, block 2: 20, block 3: 20

Measure Progression

const measureOf = require('measure-it');
 
let measure = measureOf('Awesome Code').start();
 
awesomeCode();
 
measure.stop();
 
awesomeCode();
 
measure.stop();
 
console.log(measure.get());
// [10, 20]
 
console.log(measure.serialize());
// <Awesome Code> 10, 20

Package Sidebar

Install

npm i measure-it

Weekly Downloads

3

Version

1.0.1

License

ISC

Last publish

Collaborators

  • iameugenejo