@bufferapp/chronos

0.6.1 • Public • Published

Chronos

A small library to handle browser timining measures

How To

install it

npm i --save @bufferapp/chronos
import chronos from '@bufferapp/chronos';
const ch = chronos();

The simplest way to measure something is to start the measure with ch.startMeasure('bar') and then stop it ch.stopMeasure('bar'). To store the measure you should define a storing method when you instatiate Chronos passing it down in the configuration options

const ch = chronos({
  store: (data) => {
    …
  }
})

When that is provided Chronos will auto save the measures for you. Chronos is using requestIdleCallback to parse and store measures, so autosave won't effect your app performances, anyway you are free to disable this behaviour setting autoSave: false in the options. In this case you can manually save measures with ch.saveToStore().

You can measure anything against browser timing event with ch.measureFromSpecialEvent({ name: 'foo', eventName: 'navigationStart' }), there is also a convenient method to measure against Navigation Start ch.measureFromNavigationStart('foo').

If you want to store any extra data along with your measures you can pass a data object in measure start options ch.startMeasure({name: 'foo', data: {tags: ['foo', 'bar']}}), the data field will be passed down to your store method.

Happy measuring!

Package Sidebar

Install

npm i @bufferapp/chronos

Weekly Downloads

43

Version

0.6.1

License

MIT

Last publish

Collaborators

  • davidluhr
  • egomezd
  • jacobchadwell
  • boristroja
  • philippemiguet
  • josemdev
  • msanroman
  • daisymarie128
  • hamstu
  • stevenc81
  • bufferbot
  • mayauribe
  • esclapes
  • ay8s
  • mickmahady
  • dinostheo
  • hitherejoe
  • dace
  • erickhun
  • kmbriseno
  • kiriappeee
  • cmunozgar
  • peteremilbuffer
  • arekpn
  • abeeb
  • buffermw