All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Sakib Sajal" <sakib.sajal@windriver.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>,
	Randy MacLeod <randy.macleod@windriver.com>
Cc: Trevor Gamblin <trevor.gamblin@windriver.com>,
	Steve Sakoman <steve@sakoman.com>,
	OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: Autobuilder data collection for intermittent bugs
Date: Wed, 31 Mar 2021 17:45:30 -0400	[thread overview]
Message-ID: <5bf201ae-4bd9-3a80-5917-a09f17521b2f@windriver.com> (raw)
In-Reply-To: <9cea6a57043657d69ed020b6d6f773a9b8b69ffb.camel@linuxfoundation.org>


On 2021-03-26 1:50 p.m., Richard Purdie wrote:
> [Please note: This e-mail is from an EXTERNAL e-mail address]
>
> On Thu, 2021-03-25 at 20:00 -0400, Randy MacLeod wrote:
>> Thanks for the update Sakib.
>>
>> We're planning to follow Steve's example of getting commit access to
>> contrib branches of y-a-h and poky and using the YP AB to start custom
>> workers/job initially.  We'll also keep working to duplicate the
>> AB behaviour locally. Trevor has asked Konrad for an additional system
>> or two since when jobs are running, the web UI is
>> painfully slow since it's runnig on the same node right now.
>>
>> The one part that Sakib didn't ask about is how to get all the workers
>> to do the data collection but that's not urgent since we'll be doing
>> some smaller scale experiments tomorrow. If you can point out a helpful
>> example, that'd be good.
> The easiest is the fact that the workers all share an NFS mount which
> is at BASE_SHAREDDIR in config.json. See also WEBPUBLISH_DIR and
> WEBPUBLISH_URL.
Ok. We have not gone there, yet.
>
> We use this to share the reproducible build failures and to share the
> reproducible build failures/diffoscope and test results, e.g.:
> OEQA_DEBUGGING_SAVED_OUTPUT=${BASE_SHAREDDIR}/pub/repro-fail/
>
> or perhaps more useful is scripts/collect-results:
>
> """
> #!/bin/bash
> WORKDIR=$1
> DEST=$2
> target=$3
>
> RESFILE=$WORKDIR/tmp/log/oeqa/testresults.json
>
> if [ -e $RESFILE ]; then
>      mkdir -p $DEST/$target
>      cp $WORKDIR/tmp/log/oeqa/testresults.json  $DEST/$target/
> fi
> """
>
> would let you do something similar and DEST here is specific to a given
> build (date stamp + number). An example would be:
>
> https://autobuilder.yocto.io/pub/non-release/20210129-3/
>
> and then you could create a folder per target. You may need to
> include the worker name in the log.

We were able to follow the example and collect results in:

https://autobuilder.yocto.io/pub/non-release/20210331-18/testresults/qa-extras2/2021-03-31--20-32/

host_stats.0

host_stats.1

host_stats.2

We are renaming the files to host_stats_<step>.txt so that it would open 
on the browser.


We were looking at generate-testresult-index.py and would like to append 
a new column called "AB INT" and hyperlink each file in the folder where 
"top" was triggered. Normally there should not be any links. 
Occasionally, we should see 1 or 2 but not more unless things go really 
bad. Do you agree this is a reasonable approach? Who do we contact about 
testing the changes? Trevor has an internal instance running, we could 
try it out there.


Below is the diff of the changes we plan to make for the index. We do 
not completely understand the script yet, we are working on it.

autobuilder/yocto-autobuilder-helper$ git diff 
./scripts/generate-testresult-index.py
diff --git a/scripts/generate-testresult-index.py 
b/scripts/generate-testresult-index.py
index d9d577e..27fe06f 100755
--- a/scripts/generate-testresult-index.py
+++ b/scripts/generate-testresult-index.py
@@ -33,6 +33,7 @@ index_templpate = """
    <th>Performance Reports</th>
    <th>ptest Logs</th>
    <th>Buildhistory</th>
+  <th>AB INT</th>
  </tr>
  </thead>
  <tdata>
@@ -57,6 +58,11 @@ index_templpate = """
       <a href="{{bh[0]}}">{{bh[1]}}</a>
     {% endfor %}
     </td>
+   <td>
+   {% for abint in entry[8] %}
+     <a href="{{abint[0]}}">{{abint[1]}}</a>
+   {% endfor %}
+   </td>
  </tr>
  {% endfor %}
  </tdata>
@@ -145,6 +151,11 @@ for build in sorted(os.listdir(path), key=keygen, 
reverse=True):
      if os.path.exists(buildpath + "/qemuarm/buildhistory.txt"):
          buildhistory.append((reldir + 
"testresults/qemuarm/buildhistory.txt", "qemuarm"))

+    abint = []
+    for p in glob.glob(buildpath + "/ab-int*/host_stats*"):
+        abintname = os.path.basename(os.path.dirname(p))
+        abintreports.append((reldir + "testresults/" + abintname + "/" 
+ os.path.basename(p), perfname.replace("buildperf-",""))) #todo
+
      branch = get_build_branch(buildpath)


Regards,

Sakib, Randy

>
> Cheers,
>
> Richard
>


  reply	other threads:[~2021-03-31 21:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-25 22:11 Autobuilder data collection for intermittent bugs Sakib Sajal
2021-03-25 22:23 ` Richard Purdie
2021-03-26  0:00   ` Randy MacLeod
2021-03-26 17:50     ` Richard Purdie
2021-03-31 21:45       ` Sakib Sajal [this message]
2021-03-31 22:01         ` Richard Purdie
2021-04-04 19:56           ` [OE-core] " Randy MacLeod
2021-04-05 14:49             ` Richard Purdie

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=5bf201ae-4bd9-3a80-5917-a09f17521b2f@windriver.com \
    --to=sakib.sajal@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=randy.macleod@windriver.com \
    --cc=richard.purdie@linuxfoundation.org \
    --cc=steve@sakoman.com \
    --cc=trevor.gamblin@windriver.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.