[OE-core] [PATCH 0/9] Show progress during build and eSDK install

Christopher Larson clarson at kergoth.com
Mon Jun 13 16:01:17 UTC 2016


On Sun, Jun 12, 2016 at 8:13 PM, Paul Eggleton <
paul.eggleton at linux.intel.com> wrote:

> Show progress during build and extensible SDK installation.
>
> I've often thought it would be nice if we could print progress information
> for individual tasks so that you could get some idea of whether the task
> is doing anything and how much longer it might take, and so I've been
> working
> on a set of patches to implement just that in the background for a while
> now
> and this is the result.  Unfortunately this isn't necessarily practical to
> do
> for all tasks, but things like do_fetch are running processes that do
> output
> progress information so it's not too hard to tap into that and present it
> in
> the form of a progress bar next to the task, which is what this patchset
> does. I was also able to enable progress for do_compile in recipes that use
> cmake (since that outputs % complete as it runs) as well as do_rootfs where
> it has a number of internal steps that can be counted and weighted.
>
> I have contemplated and even prototyped going a step further and using the
> count of lines in the output to track progress for *all* long-running
> tasks,
> which does work reasonably well - the caveat is you actually need the
> expected line count ahead of time for each task, so you have to be able to
> get that from somewhere. I  haven't worked out a practical means of
> delivering that, suggestions would be very much welcome - my prototype
> stuff
> is on poky-contrib paule/progress-wip and relies on someone profiling a
> build containing all the tasks beforehand and that information somehow
> being
> made available to everyone else.
>
> Also included in this patchset is support for showing progress in a couple
> of other stages during the build - when checking for the availability of
> sstate artifacts, when initialising the tasks (formerly "Preparing
> RunQueue")
> and overall progress of running setscene and normal tasks.
>
> There are also a few semi-related changes to improve progress reporting and
> speed of extensible SDK installation.
>
> NOTE: this patchset requires the corresponding set of changes just sent
> to the bitbake-devel list in order to work.
>

This is pretty sweet, nice work on this, Paul. A couple random thoughts:

1. do_fetch progress is *awesome*, especially for the kernel :)
2. there are do_setscene progress bars, but they seem to just pop up and
vanish in the common case, since they run so quickly. we might want to add
a minimum time threshold to the UI, so if the task has been running less
than 5 seconds, don't even bother showing it
3. it may be worth adding a spinner for cases where we don't know the
expected line count, but want to be able to indicate that something is
happening, i.e. just spin the spinner if output is still coming from the
task's stdout, so the user doesn't get paranoid and think the compile hung
:)
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160613/af3d117f/attachment-0002.html>


More information about the Openembedded-core mailing list