public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Claudius Heine <ch@denx.de>
To: Harald Seiler <hws@denx.de>, isar-users@googlegroups.com
Subject: Re: [PATCH] rootfs: Report progress for postprocessing steps
Date: Wed, 1 Jul 2020 18:33:16 +0200	[thread overview]
Message-ID: <e995d4b5-91ad-b078-361a-338b7b3008a6@denx.de> (raw)
In-Reply-To: <20200701143832.1113534-1-hws@denx.de>


[-- Attachment #1.1: Type: text/plain, Size: 2081 bytes --]

Hi Harald,

On 2020-07-01 16:38, Harald Seiler wrote:
> Use a ProgressHandler to report how far postprocessing has progressed.
> Because we can't know the exact timing of all postprocessing tasks, the
> percentages are split evenly for all steps.

I think I wanted to do this myself at some point. So great that I don't
have to ;)

I think I would probably have used the MultiStageProgressReporter here
as well, like with it is done in `do_rootfs_install` and just entered
some measured values for the tasks I got locally as weights. The idea is
that the weights are just a rough indicator. Since `do_rootfs_install`
has some tasks that take much longer than others, it sort of makes
sense. If the postprocessing tasks are mostly equal, then the
ProgressHandler is ok.

Maybe you can just try measuring it with the MultiStageProgressReporter
and then decide.

IIRC, I though at that time that the post-process tasks are finished
pretty fast and so decided not to invest the time to add a progress bar.
But its long ago, so I might be mistaken.

regards,
Claudius

> 
> Signed-off-by: Harald Seiler <hws@denx.de>
> ---
>  meta/classes/rootfs.bbclass | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass
> index 806e824c825a..889272e7bee4 100644
> --- a/meta/classes/rootfs.bbclass
> +++ b/meta/classes/rootfs.bbclass
> @@ -248,12 +248,16 @@ python do_rootfs_postprocess() {
>      # removed on a previous execution of this task:
>      bb.build.exec_func('rootfs_do_qemu', d)
>  
> +    progress_reporter = bb.progress.ProgressHandler(d)
> +    progress_reporter.update(0)
> +
>      cmds = d.getVar("ROOTFS_POSTPROCESS_COMMAND")
>      if cmds is None or not cmds.strip():
>          return
>      cmds = cmds.split()
> -    for cmd in cmds:
> +    for i, cmd in enumerate(cmds):
>          bb.build.exec_func(cmd, d)
> +        progress_reporter.update(int(i / len(cmds) * 100))
>  }
>  addtask rootfs_postprocess before do_rootfs
>  
>


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2020-07-01 16:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-01 14:38 Harald Seiler
2020-07-01 16:33 ` Claudius Heine [this message]
2020-10-13 10:26 ` Jan Kiszka
2020-11-18 19:10 ` Baurzhan Ismagulov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e995d4b5-91ad-b078-361a-338b7b3008a6@denx.de \
    --to=ch@denx.de \
    --cc=hws@denx.de \
    --cc=isar-users@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox