JSPM

speedline-core

1.4.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1367976
  • Score
    100M100P100Q199238F
  • License MIT

Get the speed index from chrome dev tool timeline files

Package Exports

  • speedline-core

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (speedline-core) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

speedline-core

This is the core module for speedline, without any CLI dependencies. See speedline for the CLI.

Install

$ npm install speedline

Usage

const speedline = require('speedline-core');

speedline('./timeline').then(results => {
  console.log('Speed Index value:', results.speedIndex);
});

API

speedline(timeline [, opts])

  • (string | object[]) timeline
  • (object) opts

Returns a (Promise) resolving with an object containing:

  • beginning (number) - Recording start timestamp
  • end (number) - Recording end timestamp
  • speedIndex (number) - speed index value.
  • perceptualSpeedIndex (number) - perceptual speed index value.
  • first (number) - duration before the first visual change in ms.
  • complete (number) - duration before the last visual change in ms.
  • duration (number) - timeline recording duration in ms.
  • frames (Frame[]) - array of all the frames extracted from the timeline.

timeline parameter:

  • string - the parameter represents the location of the of file containing the timeline.
  • array - the parameter represents the traceEvents content of the timeline file.

opts parameter:

  • timeOrigin: Provides the baseline timeStamp, typically navigationStart. Must be a monotonic clock timestamp that matches the trace. E.g. speedline('trace.json', {timeOrigin: 103205446186})
  • fastMode: If the elapsed time and difference in similarity between two screenshots are small, fastMode will skip decoding and evaluating the frames between them.
  • include: Specifies which speed indexes to compute, can be one of all|speedIndex|perceptualSpeedIndex, defaults to all.

Frame

Object representing a single screenshot.

  • frame.getHistogram(): (number[][]) - returns the frame histogram. Note that light pixels informations are removed from the histogram, for better speed index calculation accuracy.
  • frame.getTimeStamp(): (number) - return the frame timestamp.
  • frame.getImage(): (Buffer) - return the frame content.
  • frame.getProgress(): (number) - return the frame visual progress.
  • frame.getPerceptualProgress(): (number) - return the frame perceptual visual progress.

License

MIT © Pierre-Marie Dartus