-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Include additional helpful information in default DataUpload/DataDownload display. #8095
Comments
Given the information has been provided in the CR of |
@reasonerjt |
I opened #8128 to hold some work that will eventually show the difference in a clearer way. |
@mrnold What we need here -- Therefore, we can see minor gap for |
I think the output of |
Just to summarize a few comments from the community meeting: one of the goals is to allow users to see that incremental backups are working. This is more important than showing a transfer rate. I think doneBytes might not be enough to show that successive backups transfer less data than an initial backup. I am looking into what options Kopia has for showing bytes moved. I will see if I can get printcolumn to show calculated results, but I haven't yet figured out a way to do this without changing the CRD. |
The The current code has retrieved this info but not set to DUCR, so we need to add one more field to DUCR's DataUploadStatus and also add a new column through |
Hmm. OK -- so maybe the answer is to enhance backup describe to include the elapsed time for each du? What we want here is some way for a user to see in one place, how long each of the du operations took. This could be in the output of @Lyndon-Li Does moving this functionality to backup describe resolve your objections? |
Also, even during current backup, elapsed time is not "[current time] - startTimeStamp" -- it's "if completed completionTimestamp - startTimestamp else current time - startTimestamp" -- volumes that finish earlier will otherwise appear to take much longer to complete than they actually do. |
@sseago Let me conclude the info I think we need to have for the backup/restore performance observability: elapsed time
cached bytes
throughput
For all these info:
|
We don't need to use |
It isn't though. If you have 2 DUs that run sequentially in a backup (on same node, with parallel execution disabled), and each takes 10 minutes, at minute 19, you'll see DU1 showing STARTED at "19m" and DU2 showing STARTED at "9m" -- but elapsed time should tell us how long the DU has been in progress until completion -- so those fields would need to show "10m" and "9m". |
Yes, it is. but just keep my point in mind that |
OK, lets step back a bit. If I'm a user monitoring a running backup and my main concern is DU progress, I want to look in one place to see:
Currently, the only place to see any of this is One possibility is to enhance the du display columns. Of course, to get elapsed time would require a new field. Another would be to enhance Either way, we need a real-time view (changes while backup and du progress) that shows completed, in-progress, and queued DUs for the current backup with elapsed time, bytes progress, etc. as appropriate. |
@sseago After a further thinking, below may be better for elapsedTime:
Use Changing |
Per discussion, let's keep it ice-box given we don't have an agreement on how to demonstrate the incremental backup. |
I tried using cachedBytes, but did not have much success. It seems like kopia calculates cachedBytes up front, so using (doneBytes-cachedBytes)/elapsedTime for throughput shows a negative number for most of an incremental backup transfer. I see there is also an uploadedBytes that is supposed to update when bytes are uploaded to storage, but in my tests I did not see it change away from 0. So I agree I don't really have a good base for a design yet. |
Describe the problem/challenge you have
We had users evaluating backup performance by watching the progress of DataUploads, basically like this:
$ oc get dataupload --all-namespaces -w
NAMESPACE NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE
openshift-adp test ts-velero-test-1 0s
openshift-adp test ts-velero-test-1 0s
openshift-adp test Accepted ts-velero-test-1 0s
openshift-adp test Prepared ts-velero-test-1 62s ip.lan
openshift-adp test InProgress 0s ts-velero-test-1 62s ip.lan
openshift-adp test InProgress 13s 555745280 ts-velero-test-1 75s ip.lan
openshift-adp test InProgress 23s 1073741824 ts-velero-test-1 85s ip.lan
openshift-adp test InProgress 24s 1073741824 1073741824 ts-velero-test-1 86s ip.lan
openshift-adp test Completed 24s 1073741824 1073741824 ts-velero-test-1 86s ip.lan
It would have been helpful to see a little more information about the transfer, to help identify where to allocate resources for their cluster.
Describe the solution you'd like
I would like to add another field or two to this output so we can see elapsed time and transfer rates at a glance. This would help them estimate what backups can fit in their time window. It would also be good to see a count of the actual bytes moved over the network, taking kopia's incremental snapshots into account.
Anything else you would like to add:
I have not yet researched what kind of progress reporting kopia provides, please chime in if this sounds infeasible.
Environment:
velero version
):kubectl version
):/etc/os-release
):Vote on this issue!
The text was updated successfully, but these errors were encountered: