Skip to content
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

RFC: Add design for blueprint and phase progress calculation #1461

Merged
merged 6 commits into from
Jun 10, 2022

Conversation

ihcsim
Copy link
Contributor

@ihcsim ihcsim commented Jun 7, 2022

Change Overview

This PR adds the design proposal for the blueprint and phase progress calculation. Welcome all comments and feedback.

Pull request type

Please check the type of change your PR introduces:

  • RFC

Issues

@github-actions
Copy link
Contributor

github-actions bot commented Jun 7, 2022

Thanks for submitting this pull request 🎉. The team will review it soon and get back to you.

If you haven't already, please take a moment to review our project contributing guideline and Code of Conduct document.

@infraq infraq added this to In Progress in Kanister Jun 7, 2022
@ihcsim ihcsim force-pushed the design-progress branch 2 times, most recently from a27cc0a to b1d710f Compare June 7, 2022 16:14
completed phases against the total number of phases:

```
blueprint_progress_percent = num_completed_phases / total_num_phases * 100
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be action_progress_percent?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check with Yevgeny, he has a weighting system for phases.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@viveksinghggits yes, good catch! To get the blueprint overall progress, we should be assessing the completed actions, not phases.

Here's a sample log output of the Kopia create snapshot function:

```sh
$ kopia snapshot create kanister
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In both the examples (kopia and restic) we are just considering the utilities that are going to upload the data to object store but in some cases there are chances that there are some other commands that are taking some time.

  • One example is the utility that we are using to take backup for example mysqldump, esdump etc. Should we consider these as well or just measuring upload time would be sufficient.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely if we can get progress from the tools we should expose that.

Copy link
Contributor Author

@ihcsim ihcsim Jun 7, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@viveksinghggits Yes, the goal is that downstream users can add more custom progress trackers (at the code level) per their requirements, if the built-in ones don't work. We can consider adding a built-in generic tracker to output the 25%, 50%, 75% and 100% markers based on certain events in the logs.

Kanister automation moved this from In Progress to Reviewer approved Jun 7, 2022
Copy link

@dsu-igeek dsu-igeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this. Thanks for putting this together!

design/progress-tracking.md Outdated Show resolved Hide resolved
completed phases against the total number of phases:

```
blueprint_progress_percent = num_completed_phases / total_num_phases * 100

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check with Yevgeny, he has a weighting system for phases.

Here's a sample log output of the Kopia create snapshot function:

```sh
$ kopia snapshot create kanister

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely if we can get progress from the tools we should expose that.

@ihcsim ihcsim added the rfc label Jun 7, 2022
Signed-off-by: Ivan Sim <ivan.sim@kasten.io>
Signed-off-by: Ivan Sim <ivan.sim@kasten.io>
design/progress-tracking.md Outdated Show resolved Hide resolved
design/progress-tracking.md Outdated Show resolved Hide resolved
design/progress-tracking.md Outdated Show resolved Hide resolved
Signed-off-by: Ivan Sim <ivan.sim@kasten.io>
Signed-off-by: Ivan Sim <ivan.sim@kasten.io>
Signed-off-by: Ivan Sim <ivan.sim@kasten.io>
@ihcsim ihcsim added the kueue label Jun 10, 2022
@mergify mergify bot merged commit 3ec3967 into master Jun 10, 2022
@mergify mergify bot deleted the design-progress branch June 10, 2022 18:52
Kanister automation moved this from Reviewer approved to Done Jun 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

None yet

4 participants