buildstats*.sh: add recipe parameter to scripts

Add option to filter the stats results for a single recipe, allowing
to easilly visuality the task resource consumption per recipe.
This is specially useful when debugging the performance of
the overall bitbake build system.

(From OE-Core rev: b4bf898d53af60f5d69b50ec5cdd7f9b3870f2dd)

Signed-off-by: Luis Martins <luis.martins@criticaltechworks.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Luis Martins
2020-03-24 11:33:12 +00:00
committed by Richard Purdie
parent 3bd3e23304
commit 41b145b2b1
2 changed files with 14 additions and 4 deletions

View File

@@ -39,6 +39,7 @@ set -o errexit
BS_DIR="tmp/buildstats"
N=10
RECIPE=""
TASKS="compile:configure:fetch:install:patch:populate_lic:populate_sysroot:unpack"
STATS="utime"
ACCUMULATE=""
@@ -53,6 +54,7 @@ Usage: $CMD [-b buildstats_dir] [-t do_task]
(default: "$BS_DIR")
-n N Top N recipes to display. Ignored if -S is present
(default: "$N")
-r recipe The recipe mask to be searched
-t tasks The tasks to be computed
(default: "$TASKS")
-s stats The stats to be matched. If more that one stat, units
@@ -69,7 +71,7 @@ EOM
}
# Parse and validate arguments
while getopts "b:n:t:s:o:aSh" OPT; do
while getopts "b:n:r:t:s:o:aSh" OPT; do
case $OPT in
b)
BS_DIR="$OPTARG"
@@ -77,6 +79,9 @@ while getopts "b:n:t:s:o:aSh" OPT; do
n)
N="$OPTARG"
;;
r)
RECIPE="-r $OPTARG"
;;
t)
TASKS="$OPTARG"
;;
@@ -112,7 +117,7 @@ CD=$(dirname $0)
# Parse buildstats recipes to produce a single table
OUTBUILDSTATS="$PWD/buildstats.log"
$CD/buildstats.sh -b "$BS_DIR" -s "$STATS" -t "$TASKS" $ACCUMULATE -H > $OUTBUILDSTATS
$CD/buildstats.sh -b "$BS_DIR" -s "$STATS" -t "$TASKS" $RECIPE $ACCUMULATE -H > $OUTBUILDSTATS
# Get headers
HEADERS=$(cat $OUTBUILDSTATS | sed -n -e '1s/ /-/g' -e '1s/:/ /gp')