in source/web_site/js/dash.js [470:517]
var fastUpdateLineChart = function(data, chartData, chart, queryTime, labelFunc=identity) {
var serviceCallLabels = chartData.labels;
var serviceCallTimes = chartData.times;
var serviceCallMap = chartData.values;
var items = data.Items;
for (var i=0; i<items.length; i++) {
queryTime = items[i].EventTime;
var timeToPut = getTimeLabel(queryTime)
serviceCallLabels.push(timeToPut);
serviceCallTimes.push(new Date(toUTC(queryTime)).getTime());
ddbitem = JSON.parse(items[i].Data);
ddbkeys = new Set(Object.keys(ddbitem));
for (var key in serviceCallMap) {
if (!ddbkeys.has(key)) {ddbitem[key]=0;}
}
for (let entry of Object.keys(ddbitem)) {
if (entry in serviceCallMap) {
serviceCallMap[entry].push(ddbitem[entry]);
}
else {
var newServiceEntry = new Array(serviceCallLabels.length-1);
newServiceEntry.fill(0);
newServiceEntry.push(ddbitem[entry]);
serviceCallMap[entry] = newServiceEntry;
}
}
}
if (items.length == 0) {
serviceCallTimes.push(new Date(toUTC(queryTime)).getTime());
var timeToPut = queryTime.split('.')[0].split(' ')[1];
serviceCallLabels.push(timeToPut);
for (var key in serviceCallMap) {
serviceCallMap[key].push(0);
}
time10sAgo = getTimeSecsAgo(10);
queryTime = (queryTime > time10sAgo?queryTime: time10sAgo);
}
updateData(chart, serviceCallLabels, Object.values(serviceCallMap), Object.keys(serviceCallMap).map(labelFunc));
return queryTime;
}