Open lukechampine opened 5 years ago
Depending on the size of the screen, you could have a couple bars per line, similar to how htop
works with the cpu graphs. I could easily see this
contractid: [--------------------] contractid: [----------------] contractid: [-------------------]
The progress bar lines shouldn't need to be really big, maybe 10/5% per character or even maybe 3/2% for larger screens.
Showing contract id: [error]
for hosts that produce errors with a more detailed explanation after the procedure has exited, with either a successful or failed download.
Also, thought about this....
An overall graph showing MinShards
chunk sections obtained, not obtained.
with file.zip in 10 shard sections
file.zip [---x---x--]
this type of graph/bar showing that it is missing those 2 so far from the available hosts.
That would be pretty neat:
foo.usa 14 MB/s, ETA 00:05
e506d7f1 ( error ) c03f4055 [#########..]
4a6b15da [#########..] 48684b96 ( idle )
a3661be1 [.....####..] b5c5380c ( error )
d46d8a9e ( idle ) fee8b6ff [#####......]
In order to support this, we would need to make all that per-host information available through the PseudoFile
or PseudoFS
types. Seems tricky. I had something like this before, using a channel of generic "updates" (still used for migrations), but it never sat quite right with me.
I think we need to have history by 3 parapmeters. 1) Contract price - here is constant for each cotract. 2) Contract full price - here must be calculated by forects variables of upload/downlad required bandwidth with full time of storage prices. This indicator can have different prices all time beucase after the contract was formed host can change price of upload or download data. 3) Stability - hove many % time this contract was accessible.
https://github.com/vbauerster/mpb is a neat package that would let us implement this. That way you could see in real-time which hosts were fast and which were slow.
There's a problem though, which is that 50+ progress bars is...too many. So we'd probably want to display just the 10 fastest hosts. But that means the bars would be swapping positions all the time, which isn't great either. Might be less of a problem if we colored each host differently, I dunno. Open to suggestions here.