updown = {
var updown = [];
var state = {};
const ts_start = Math.floor( _start.getTime() / 1000)
const ts_stop = Math.floor( _stop.getTime() / 1000)
connections.forEach( d => {
if ( d.event == "connect" ) {
state[ d.prb_id ] = d.timestamp
} else if ( d.event == "disconnect" ) {
var ev_start = ts_start
if ( d.prb_id in state ) {
ev_start = state[ d.prb_id ]
}
updown.push({
start: new Date( ev_start * 1000 ),
stop: new Date( d.timestamp * 1000 ),
prb_id: d.prb_id
})
}
})
for ( var prb_id in state ) {
updown.push({
start: new Date( state[ prb_id ] * 1000 ),
stop: new Date( ts_stop * 1000 ),
prb_id: +prb_id
})
}
return updown
}