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 timestampend
(number) - Recording end timestampspeedIndex
(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