Neatly Placed Mail


    0.6.1 • Public • Published


    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!


    npm i @bufferapp/chronos

    DownloadsWeekly Downloads






    Last publish


    • egomezd
    • cheahenry
    • jacobchadwell
    • boristroja
    • philippemiguet
    • josemdev
    • msanroman
    • daisymarie128
    • hamstu
    • stevenc81
    • bufferbot
    • albennett
    • mayauribe
    • ssvmvss
    • gomezjuliana
    • esclapes
    • ay8s
    • mickmahady
    • dinostheo
    • hitherejoe
    • dace
    • erickhun
    • kmbriseno
    • hackertronix
    • kiriappeee
    • ethaneisenhard
    • cmunozgar
    • gtangbuffer
    • heatheryou
    • peteremilbuffer
    • arekpn
    • abeeb
    • buffermw
    • gisete