Long running operations should be timed activities
Summary
Trying buildstream master, I found a couple instances where seems just hanging there without telling what it is doing.
Steps to reproduce
Just run bst build on a "slow" machine (either actually slow, or with some IO heavy background task).
What is the current bug behavior?
- When starting up, bst hangs a little before printing anything as it removes the extract folder (side note: this isn't very good for parallel installability with bst 1)
- bst hangs after
SUCCESS Checking sourcesbefore going on to the next step.
What is the expected correct behavior?
A timed activity, and possibly progress report.
Possible fixes
- For the first one: https://gitlab.com/BuildStream/buildstream/-/blob/0591b0c8b038aa9f054b295748f3423384711d50/src/buildstream/_context.py#L289
- For the second one: Stream._enqueue_plan loops over all elements (in Queue.enqueue) and queries the CAS for every one of them (via Element._has_all_sources_in_source_cache)
Other relevant information
- BuildStream version affected: master