ctrl_timeline = {
let promise = fetch(
`https://atlas.ripe.net:443/api/v2/measurements/7000/results/?start=${_start.toISOString()}&stop=${_stop.toISOString()}`
).then(r => r.json())
let j = await promise
let ctrl_state = {}
let ctrl_timeline = []
j.forEach( ev => {
if (! ctrl_state.hasOwnProperty( ev.controller ) ) {
ctrl_state[ ev.controller ] = 0
}
if (ev.event == 'disconnect') {
ctrl_state[ ev.controller ] -= 1
} else if ( ev.event == 'connect') {
ctrl_state[ ev.controller ] += 1
}
ctrl_timeline.push({
'controller': ev.controller,
'ts': new Date( ev.timestamp * 1000 ),
'relprbcnt': ctrl_state[ ev.controller ]
})
})
ctrl_timeline.sort( (a,b) => { a.controller <= b.controller } )
return ctrl_timeline
}