INNER CODE UNIT · TypeScript
movingAvg
gommzystudio/device-activity-tracker · src/signal-tracker.ts:408
const movingAvg = metrics.recentRtts.reduce((a, b) => a + b, 0) / metrics.recentRtts.length;
let median = 0;
let threshold = 0;
if (this.globalRttHistory.length >= 3) {
const sorted = [...this.globalRttHistory].sort((a, b) => a - b);
const mid = Math.floor(sorted.length / 2);
median = sorted.length % 2 !== 0 ? sorted[mid] : (sorted[mid - 1] + sorted[mid]) / 2;
threshold = median * 0.9;
if (movingAvg < threshold) {
metrics.state = 'Online';
} else {
metrics.state = 'Standby';
}
} else {
metrics.state = 'Calibrating...';