apache / apache/buildstream

Add progress reporting as a generic string

Open
#1,093 9 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.