Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Exponential moving average from a stream. Module and command line.
var emaStream = require('ema-stream');
var ema = emaStream();
var count = 0;
function source () {
var r = count++;
ema.write(r.toString() + '\n');
}
setInterval(source, 100);
ema.on('readable', function () {
ema.pipe(process.stdout);
})
3
10
18
etc
var emaStream = require('ema-stream');
var ema = emaStream({
pluck: ['key1', 'key2']
});
var count = 0;
function source () {
var obj = {
key1: count++,
key2: Math.random() * 500
};
ema.write(JSON.stringify(obj) + '\n');
}
setInterval(source, 100);
ema.on('readable', function () {
ema.pipe(process.stdout);
});
{"key1":3,"key2":232}
{"key1":10,"key2":245}
{"key1":18,"key2":210}
etc.
var emaStream = require('ema-stream');
Create a new stream instance ema
with options opts
:
opts.window: 60000
- Length of window in ms.opts.pluck: null
- Keys to pluck from incoming JSON. If unspecified,
incoming chunks is assumed to be numbers.opts.integers: true
- Whether to round output.opts.refreshEvery: 1000
- How often to emit current average in ms.opts.emitFirstValue: false
- Whether to emit on the first value or wait
until the first window has passed to emit the first time.$ counter
0
1
2
3
^C
$ counter | ema-stream
3 # Output is refreshed every second. 3, 10, 19, 28, etc.
$ tail -f logfile.log
{"type":"request","statusCode":200,"wallTime":27,"dbConnections":40}
{"type":"request","statusCode":200,"wallTime":45,"dbConnections":42}
{"type":"request","statusCode":200,"wallTime":207,"dbConnections":48}
{"type":"request","statusCode":200,"wallTime":205,"dbConnections":50}
^C
# Pluck only the keys we're interested in.
$ tail -f logfile.log | ema-stream --pluck wallTime,dbConnections
{"wallTime":62,"dbConnections":42} # Ouput is refreshed every second.
$ ema-stream \
--window 60000 # Window to calculcate moving average from in ms.
--integers true # Whether to round output.
--refreshEvery 1000 # How often to refresh current average in ms.
--pluck # Comma-separated list of keys to pluck from incoming JSON. If
unspecified, input is assumed to be numbers.
--emitFirstValue false # Whether to emit on the first value or wait
until the first window has passed to emit the first time.
FAQs
Exponential moving average from a stream.
The npm package ema-stream receives a total of 7 weekly downloads. As such, ema-stream popularity was classified as not popular.
We found that ema-stream demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.