Speed and ETA

Upload Speed and ETA

Show real-time upload speed (KB/s or MB/s) and estimated time remaining by calculating transfer rate from progress events.

onTaskStart: function(task) {
  startTime = Date.now();
},
onTaskProgress: function(task, pct) {
  var elapsed = (Date.now() - startTime) / 1000;
  var loaded = task.fileSize * (pct / 100);
  var speed = loaded / elapsed;
  speedEl.textContent = formatBytes(speed);
  var remaining = (elapsed / pct) * (100 - pct);
  etaEl.textContent = formatTime(remaining);
}