Adding in percentage for uploads

This commit is contained in:
Alex Yong 2024-03-28 17:07:06 -04:00 committed by GitHub
parent f53d0f0529
commit 6f7cdc614b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -125,7 +125,7 @@ function isTusSupported() {
function computeETA(state) { function computeETA(state) {
if (state.speedMbyte === 0) { if (state.speedMbyte === 0) {
return Infinity; return { eta: Infinity, percentage: 0 };
} }
const totalSize = state.sizes.reduce((acc, size) => acc + size, 0); const totalSize = state.sizes.reduce((acc, size) => acc + size, 0);
const uploadedSize = state.progress.reduce( const uploadedSize = state.progress.reduce(
@ -134,7 +134,10 @@ function computeETA(state) {
); );
const remainingSize = totalSize - uploadedSize; const remainingSize = totalSize - uploadedSize;
const speedBytesPerSecond = state.speedMbyte * 1024 * 1024; const speedBytesPerSecond = state.speedMbyte * 1024 * 1024;
return remainingSize / speedBytesPerSecond; const eta = remainingSize / speedBytesPerSecond;
const percentage = (uploadedSize / totalSize) * 100;
return { eta, percentage };
} }
function computeGlobalSpeedAndETA() { function computeGlobalSpeedAndETA() {
@ -146,12 +149,12 @@ function computeGlobalSpeedAndETA() {
totalCount++; totalCount++;
} }
if (totalCount === 0) return { speed: 0, eta: Infinity }; if (totalCount === 0) return { speed: 0, eta: Infinity, percentage: 0 };
const averageSpeed = totalSpeed / totalCount; const averageSpeed = totalSpeed / totalCount;
const averageETA = computeETA(store.state.upload, averageSpeed); const { eta, percentage } = computeETA(store.state.upload, averageSpeed);
return { speed: averageSpeed, eta: averageETA }; return { speed: averageSpeed, eta, percentage };
} }
function calcProgress(filePath) { function calcProgress(filePath) {
@ -174,9 +177,10 @@ function calcProgress(filePath) {
fileData.currentAverageSpeed = fileData.currentAverageSpeed =
ALPHA * avgRecentSpeed + ONE_MINUS_ALPHA * fileData.currentAverageSpeed; ALPHA * avgRecentSpeed + ONE_MINUS_ALPHA * fileData.currentAverageSpeed;
const { speed, eta } = computeGlobalSpeedAndETA(); const { speed, eta, percentage } = computeGlobalSpeedAndETA();
store.commit("setUploadSpeed", speed); store.commit("setUploadSpeed", speed);
store.commit("setETA", eta); store.commit("setETA", eta);
store.commit("setUploadPercentage", percentage);
fileData.initialBytesUploaded = fileData.currentBytesUploaded; fileData.initialBytesUploaded = fileData.currentBytesUploaded;
fileData.lastProgressTimestamp = Date.now(); fileData.lastProgressTimestamp = Date.now();