[poky] [PATCH 3/3] bb-perf: plot histograms base on buildstats data

Leonardo Sandoval leonardo.sandoval.gonzalez at linux.intel.com
Wed Nov 16 14:44:47 PST 2016



On 11/16/2016 04:25 AM, Markus Lehtonen wrote:
> On Tue, 2016-11-15 at 15:19 -0600,
> leonardo.sandoval.gonzalez at linux.intel.com wrote:
>> From: Leonardo Sandoval <leonardo.sandoval.gonzalez at linux.intel.com>
>>
>> Scripts that produces script data to be consumed by gnuplot.
>> There are two possible plots depending if either the
>> -S parameter is present or not:
>>
>>      * without -S: Produces a histogram listing top N recipes/tasks versus
>>        stats. The first stat defined in the -s parameter is the one taken
>>        into account for ranking
>>      * -S: Produces a histogram listing tasks versus stats.  In this case,
>>        the value of each stat is the sum for that particular stat in all
>> recipes found.
>>        Stats values  are in descending order defined by the first stat
>> defined on -s
>>
>> EXAMPLES
>>
>> 1. Top recipes' tasks taking into account utime
>>
>>      $ buildstats-plot.sh -s utime | gnuplot -p
>>
>> 2. Tasks versus utime:stime
>>
>>      $ buildstats-plot.sh -s utime:stime -S | gnuplot -p
>>
>> 3. Tasks versus IO write_bytes:IO read_bytes
>>
>>      $ buildstats-plot.sh -s 'IO write_bytes:IO read_bytes' -S | gnuplot
>> -p
> One problem (or problematic restriction) I see is that the script relies on
> the new buildstats format introduced by PATCH 2/3 in this patchset, making
> the script incompatible with older buildstats and not being able to render
> them.

The proposed buildstats.sh script has the same behavior as the old one 
if -s 'Elapsed time' is included as argument. The new feature introduced 
is that we can parse other stats besides Elapsed Time, so with 
buildstats-plot.sh can make use of it. The main reason of the 2/2 change 
is that Elapsed time does not give us much info because this is wall 
time, not CPU time.

> Another problem for me is the dependency on datamash which I wasn't able to
> find for my distro (openSUSE Leap 42.1). How hard would it be to ditch the
> dependency on datamash?
datamash is pretty good for doing basic stat and this case we are just 
summing columns by 'groups'. The same thing can be with awk of course. 
Looking at the https://www.gnu.org/software/datamash/download/, there is 
no package ready for opensuse so the only option here is to get the 
tarball and 'make' it.


> Thanks,
>    Markus
>
>



More information about the poky mailing list