chunk-rate-readable

Measures the rate at which a given stream emits data chunks and streams the result.

npm install chunk-rate-readable
4 downloads in the last week
8 downloads in the last month

chunk-rate-readable build status

testling badge

Measures the rate at which a given stream emits data chunks and streams the result.

var chunkRate = require('chunk-rate-readable')
  , numbers = require('../test/fixtures/number-readable');

var numbersStream = numbers({ to: 20, throttle: 200 })

var last = 0;
chunkRate(numbersStream, { objectMode: true, interval: 500 })
  .on('data',  function (rate) {
    var indicator = rate === last 
      ? '='
      : rate > last ? '▲' : '▼';
    console.log(' %s  %d/500ms', indicator, rate);
    last = rate;
  });

example output

Installation

npm install chunk-rate-readable

API

function ChunkRateReadable (stream[, opts])

Creates a readable stream that will emit how many chunks the given stream emitted during the given interval.

@name ChunkRateReadable @function params:

  • stream ReadableStream whose chunk rate is measured
  • opts Object with the following properties:
    • objectMode {Boolean} if true rate is emitted as actual numbers, otherwise as buffers
    • interval {Number} at which to measure the rate (default: rate/500ms)

returns:

ReadableStream that will emit updates about the chunk rate of the given stream.

chunkRateReadable.endSoon

Call this in case you want to tell the rate stream to end. Useful for testing and/or when you want to end your debugging session and allow the program to exit.

Similar Modules

  • speed-meter measures the number of emitted bytes (vs. number of chunks) over a given time period

License

MIT

npm loves you