Offset function added (#638)
* Shift function added * Remane shift function to offset
This commit is contained in:
committed by
Alexander Zobnin
parent
f5cb445b7a
commit
e36336864a
@@ -9,6 +9,7 @@ let sumSeries = ts.sumSeries;
|
||||
let delta = ts.delta;
|
||||
let rate = ts.rate;
|
||||
let scale = (factor, datapoints) => ts.scale_perf(datapoints, factor);
|
||||
let offset = (factor, datapoints) => ts.offset(datapoints, delta);
|
||||
let simpleMovingAverage = (n, datapoints) => ts.simpleMovingAverage(datapoints, n);
|
||||
let expMovingAverage = (a, datapoints) => ts.expMovingAverage(datapoints, a);
|
||||
|
||||
@@ -117,6 +118,7 @@ function unShiftTimeSeries(interval, datapoints) {
|
||||
let metricFunctions = {
|
||||
groupBy: groupByWrapper,
|
||||
scale: scale,
|
||||
offset: offset,
|
||||
delta: delta,
|
||||
rate: rate,
|
||||
movingAverage: simpleMovingAverage,
|
||||
|
||||
@@ -44,6 +44,15 @@ addFuncDef({
|
||||
defaultParams: [100],
|
||||
});
|
||||
|
||||
addFuncDef({
|
||||
name: 'offset',
|
||||
category: 'Transform',
|
||||
params: [
|
||||
{ name: 'delta', type: 'float', options: [-100, 100]}
|
||||
],
|
||||
defaultParams: [100],
|
||||
});
|
||||
|
||||
addFuncDef({
|
||||
name: 'delta',
|
||||
category: 'Transform',
|
||||
|
||||
@@ -30,5 +30,15 @@ describe('timeseries processing functions', () => {
|
||||
expect(result).toEqual(expected);
|
||||
done();
|
||||
});
|
||||
|
||||
it('should properly offset metric', (done) => {
|
||||
let points = [[1, 1], [-4, 2], [2, 3]];
|
||||
|
||||
let expected = [[101, 1], [96, 2], [102, 3]];
|
||||
|
||||
let result = ts.offset(points, 100);
|
||||
expect(result).toEqual(expected);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -191,6 +191,17 @@ function scale_perf(datapoints, factor) {
|
||||
return datapoints;
|
||||
}
|
||||
|
||||
function offset(datapoints, delta) {
|
||||
for (let i = 0; i < datapoints.length; i++) {
|
||||
datapoints[i] = [
|
||||
datapoints[i][POINT_VALUE] + delta,
|
||||
datapoints[i][POINT_TIMESTAMP]
|
||||
];
|
||||
}
|
||||
|
||||
return datapoints;
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple delta. Calculate value delta between points.
|
||||
* @param {*} datapoints
|
||||
@@ -477,6 +488,7 @@ const exportedFunctions = {
|
||||
groupBy_perf,
|
||||
sumSeries,
|
||||
scale,
|
||||
offset,
|
||||
scale_perf,
|
||||
delta,
|
||||
rate,
|
||||
|
||||
Reference in New Issue
Block a user