arrivals
Purpose: Use this library to model the arrival of events in a system.
For example: Model the arrival of visitors to a website; incoming phone calls to
an exchange; spawning of ghosts in your Pacman clone.
This library was originally developed for use in Minigun.
Minigun is a modern load-testing tool with a focus on usability.
Usage
npm install arrivals
Two models of arrival processes are available: Poisson and Uniform.
var arrivals = require('arrivals');
var p = arrivals.poisson.process(500, 20 * 1000);
p.on('arrival', function onArrival() {
console.log('New arrival, %s', new Date());
});
p.once('finished', function() {
console.log('We are done.');
});
p.start();
If the last argument (total duration of the process) is omitted, the process
will run until stopped with p.stop()
.
var arrivals = require('arrivals');
var p = arrivals.uniform.process(500, 20 * 1000);
p.on('arrival', function onArrival() {
console.log('New arrival, %s', new Date());
}
p.once('finished', function() {
console.log('We are done.');
});
p.start();
The last argument (total duration) is optional as in the previous example.
License
This software is distributed under the terms of the ISC license.
Copyright (c) 2015, Hassy Veldstra <h@veldstra.org>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.