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