Upload remaining time in status bar is fluctuating while uploading

I used Uppy aws s3 multipart for uploads and to show the progress used Uppy built in status bar. I set showProgressDetails option to true, so I will able to see the upload remaining time. But, when I start to upload multiple files, the remaining time is fluctuating (see the attachment). can I control this behavior?



Trying to predict how long a task will take is a very tricky engineering problem; it depends on the speed of the connection, the size of the files, the number of files, and the computing resources available on the client machine. Of course, we can always improve but I have to be frank here: it will never be perfect. Even on companies that can afford the best engineers (Google, Apple, Microsoft. etc.), they haven’t solved this problem to predict how long a local copy operation will take – and they don’t even have the network changing speed to take into account. Sorry if I’m saying things that you already know, I wanted to give some context on why the time is fluctuating in the first place.
Your question is “can I control this behavior?”. What do you have in mind? If you were in control of this behavior, what would you change?

It’s not about getting perfect remaining time. The main issue I’m facing is some time it shows upload remaining time as hours and in next second it will show few minutes left. This problem comes only when I upload large number of files in one shot.

Gotcha! So you’d like to be able to control the format of the remaining upload time left, correct? For example you’d like to have an option to force the time to always be displayed in minutes and never in hours?

The format is more or less fine, we understand the difficulty related to estimating remaining hours, it seems to me varying over extreme ranges, is there something we can do about that? We would like to know:

  1. If it would also be possible to show upload speed. ( so the user has context about time remaining if when it jumps around )
  2. Why do the seconds frequently go to 0s every now and then?

we will investigate the code from our end as well, any pointers would be helpful!

That’s perfectly reasonable, and I agree it would improve the user experience. I’ve opened @uppy/status-bar: show upload speed · Issue #3510 · transloadit/uppy · GitHub to track this.

Regarding pointers for the code, on the top of my head that would be probably in the calculateProcessingProgress module of @uppy/status-bar.

@aduh95 I think the problem is that the remaining time can fluctuate wildly, and is therefore not useful. With a large number of files I can see it bouncing up and down from (for example) 30 minutes up to 30 hours, and all manner of values in between.

CleanShot 2022-05-08 at 21.48.32