var updateLineChart = function()

in source/web_site/js/dash.js [337:382]


  var updateLineChart = function(data, AvgTempCallLabels, AvgTempCallMap, chart, queryTime, labelFunc=identity) {
    var items = data.Items;
    var l = items.length
    let past_time;
    var now = new Date();
    var now_utc = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(),  now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds()).getTime();
    for (var i=0; i<l; i++) {
      queryTime = items[i].EventTime;
      AvgTempCallLabels.push(splitLabel(items[i].EventTime.split('.')[0]));
      ddbitem = JSON.parse(items[i].Data);
      ddbkeys = new Set(Object.keys(ddbitem));

      if (i === l-1) {
        past_time = new Date(queryTime).getTime();
      }

      for (var key in  AvgTempCallMap) {
        
        if (!ddbkeys.has(key)) {ddbitem[key]=0;}
      }
      for (let entry of Object.keys(ddbitem)) {
        if (entry in AvgTempCallMap) {
          AvgTempCallMap[entry].push(ddbitem[entry]);
        } 
        else {
          var newServiceEntry = new Array(AvgTempCallLabels.length-1);
          newServiceEntry.fill(0);
          newServiceEntry.push(ddbitem[entry]);
          AvgTempCallMap[entry] = newServiceEntry;
        }
      }
    }
    diff = (now_utc - past_time) / 60000
    if (items.length < 0) {
      if (diff > 5) {
        AvgTempCallLabels.push(splitLabel(queryTime.split('.')[0]));
        for (var key in  AvgTempCallMap) {
          AvgTempCallMap[key].push(0);
        }
      }
    }
    
    updateData(chart, AvgTempCallLabels,  Object.values(AvgTempCallMap), Object.keys(AvgTempCallMap).map(labelFunc));

    return queryTime;        
  }