Add progress reporting as a generic string
- Dominant language
- Python
- Stars
- 140
- Forks
- 45
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 6
Description
[See original issue on GitLab](https://gitlab.com/BuildStream/buildstream/-/issues/1093)
In GitLab by [[Gitlab user @jonathanmaw]](https://gitlab.com/jonathanmaw) on Jul 26, 2019, 14:26
## Background
As discussed in https://mail.gnome.org/archives/buildstream-list/2019-July/msg00020.html (an E-mail in response to #1029), it would be beneficial to be able to report the progress through a task, so that users know whether a task is hanging or making progress.
To facilitate this, !1482 adds in numerical progress reporting for the main process.
Some plugins will not be able to have meaningful numbers for reporting progress, but users would still like some way of knowing that the job is not stuck.
To facilitate this, the plugin could periodically report a string that came from the task's output, e.g. the last line of the output when running a BuildElement's commands.
## Task description
[//]: # (Short summary of the action to be executed)
* [ ] Write the appropriate rendering and length-calculating code in the Status renderer.
* [ ] Add methods for accessing it
* [ ] Implement in a suitable plugin to demonstrate its use (e.g. last line of output for buildelement)
## Acceptance Criteria
[//]: # (Acceptance criteria should follow the S.M.A.R.T. principle https://en.wikipedia.org/wiki/SMART_criteria )
----
[//]: # (To review information about possible relevant labels for this issue please view the list of labels: https://gitlab.com/BuildStream/buildstream/labels)
Contributor guide
Research direction
Start with the Status renderer and its existing numerical progress reporting, then trace how plugins expose task output and how BuildElement commands produce their last line. Done means the renderer can calculate and display generic string progress, access methods exist, and a suitable plugin demonstrates the behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100