streamspeed
A simple way to keep track of the speed of your readable streams.
Usage
const StreamSpeed = ; let rs = fs;let ss = ;ss; // Listen for events emitted by streamspeed on the given stream.ss;
Keep track of a group of streams
let group = ;group;group;group; group;
API
new StreamSpeed([options])
A group that can be used to watch several streams. Will emit speed
events. options
can have the following properties,
timeUnit
- Defaults to1000
for speed per second. If you want another unit such as per hour, use1000 * 60 * 60
.range
- The time in ms to calculate speed over. Defaults to1000
. The longer this is, the more stable speed will be for a big stream. The shorter it is, the more responsive it is to sudden speed changes.
StreamSpeed#add(stream)
Adds stream to group.
StreamSpeed#remove(stream)
Removes stream from group.
StreamSpeed#getSpeed()
Get current speed.
StreamSpeed#getStreamSpeed(stream)
Get an individual's stream's current speed.
StreamSpeed#getStreams()
Returns a list of all streams in the group.
StreamSpeed.toHuman(bytes, options)
Helper method to convert bytes
to a human readable string.
StreamSpeed; // 1.46KBStreamSpeed; // 1MBStreamSpeed; // 20.5MB/sStreamSpeed; // 20.50MB
Event: 'speed'
number
- Speed at which streams in the group are being read.
Will be emitted every time a stream is read and only if there is a change in speed.
Install
npm install streamspeed
Tests
Tests are written with mocha
npm test