[Toaster] [PATCH 0/5] Fix task buildstats gathering
Richard Purdie
richard.purdie at linuxfoundation.org
Mon Feb 22 03:12:48 PST 2016
On Mon, 2016-02-22 at 10:25 +0000, Barros Pena, Belen wrote:
> I am not sure what you'd consider a 'short running' task, so here are
> a few examples:
>
> Recipe task time (secs)
> CPU usage
> db do_unpack 1.29
> 144.34%
> linux-libc-headers do_unpack 9.81
> 134.64%
>
> linux-yocto do_patch 16.40
> 141.12%
>
> rpm-native do_patch 4.84
> 117.13%
> gcc-cross-i586 do_configure 3.25
> 125.24%
>
> gcc-cross-initial-i586 do_configure 3.27
> 120.50%
>
> glibc-locale do_populate_sysroot 2.80
> 192.74%
>
> flex do_populate_sysroot 1.98
> 157.74%
I was thinking roughly "under 3 seconds", so some of these are higher
that I'd have expected. Could you share the parent utime/stime and
cumulative utime/stime for these please, just so we can get a better
idea of what was going on there.
> And what if we look at the other side of the data? What does a value
> of 7.32% mean, like the one we get for netbase do_compile?
>
> So, in the example of linux-yocto do_compile_kernelmodules, would we
> show
> '24'? And for netbase do_compile? '0.07'?
Yes. 0.07 means it didn't really do much in parallel at all and wasn't
using much of a single processor.
> Would it be just easier to show resource usage times, since they are
> somehow a standard measure that users might be more likely to
> recognise?
> So we could show either:
>
> * Child rusage ru_utime + Child rusage ru_stime
> * or we split CPU usage into 2 columns, one for ru_utime and the
> other for
> ru_stime
Personally, I see a lot of value in showing these numbers separately.
As my question above kind of indicates, you really need several of the
numbers to understand exactly what may have been going on within the
task and there isn't one number you can show which tells you
everything.
This is a bit of an aside, but another "missing" piece of information
is "what was going on in the system at the same time as this task?".
This is the kind of information that the bootchart graph shows really
well. If we could click on something and see which other tasks were
running at the time this task was, that would be information we can't
currently easily obtain.
That data is there, we know the start and end times of each of the
tasks, so something can compute which ones were running at time X, but
its not something that anything is currently doing as we don't have an
easy way to display that on the commandline.
Cheers,
Richard
More information about the toaster
mailing list