diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-01-11 16:10:43 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-01-28 11:51:03 +0000 |
commit | 167bd3e6b64099792aa8136ba559295d9c56b795 (patch) | |
tree | c4f75d6b05c70631c6459d35b75a4565a7713e1a | |
parent | 6571d4ee291a6224b3ebc0e7c317d94f25ea2c66 (diff) | |
download | poky-167bd3e6b64099792aa8136ba559295d9c56b795.tar.gz |
scripts/oe-build-perf-report: Avoid buildstats warning
When a comparision branch is set we see warnings. If two branches are used,
look for buildstats information from both to avoid this kind of warning:
INFO: Parsing buildstats from 'refs/notes/buildstats/perf-centos7.yoctoproject.org/master-next/qemux86'
WARNING: Buildstats not found for perf-centos7.yoctoproject.org/master/qemux86/56808-g08220028e52992dcba667fc97bf3afe8be1949fb/0
WARNING: Buildstats not found for perf-centos7.yoctoproject.org/master/qemux86/56808-g08220028e52992dcba667fc97bf3afe8be1949fb/1
INFO: Buildstats were missing for some test runs, please run 'git fetch origin refs/notes/buildstats/perf-centos7.yoctoproject.org/master-next/qemux86:refs/notes/buildstats/perf-centos7.yoctoproject.org/master-next/qemux86' and try again
(the warning is due to stats being looked for in both branches, choose
the other branch and different warnings would be shown)
(From OE-Core rev: 232b2f6dabaedff087df15a7e6d431dd9f314b4c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit af58c18fcd0451540dd77ee862956b2b9dee17c4)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-x | scripts/oe-build-perf-report | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report index 21bde7e156..e781f4f03f 100755 --- a/scripts/oe-build-perf-report +++ b/scripts/oe-build-perf-report | |||
@@ -372,7 +372,7 @@ def print_html_report(data, id_comp, buildstats): | |||
372 | chart_opts=chart_opts)) | 372 | chart_opts=chart_opts)) |
373 | 373 | ||
374 | 374 | ||
375 | def get_buildstats(repo, notes_ref, revs, outdir=None): | 375 | def get_buildstats(repo, notes_ref, notes_ref2, revs, outdir=None): |
376 | """Get the buildstats from git notes""" | 376 | """Get the buildstats from git notes""" |
377 | full_ref = 'refs/notes/' + notes_ref | 377 | full_ref = 'refs/notes/' + notes_ref |
378 | if not repo.rev_parse(full_ref): | 378 | if not repo.rev_parse(full_ref): |
@@ -391,8 +391,13 @@ def get_buildstats(repo, notes_ref, revs, outdir=None): | |||
391 | for tag in rev.tags: | 391 | for tag in rev.tags: |
392 | log.debug(' %s', tag) | 392 | log.debug(' %s', tag) |
393 | try: | 393 | try: |
394 | bs_all = json.loads(repo.run_cmd(['notes', '--ref', notes_ref, | 394 | try: |
395 | 'show', tag + '^0'])) | 395 | bs_all = json.loads(repo.run_cmd(['notes', '--ref', notes_ref, 'show', tag + '^0'])) |
396 | except GitError: | ||
397 | if notes_ref2: | ||
398 | bs_all = json.loads(repo.run_cmd(['notes', '--ref', notes_ref2, 'show', tag + '^0'])) | ||
399 | else: | ||
400 | raise | ||
396 | except GitError: | 401 | except GitError: |
397 | log.warning("Buildstats not found for %s", tag) | 402 | log.warning("Buildstats not found for %s", tag) |
398 | bs_all = {} | 403 | bs_all = {} |
@@ -589,9 +594,12 @@ def main(argv=None): | |||
589 | buildstats = None | 594 | buildstats = None |
590 | if args.dump_buildstats or args.html: | 595 | if args.dump_buildstats or args.html: |
591 | outdir = 'oe-build-perf-buildstats' if args.dump_buildstats else None | 596 | outdir = 'oe-build-perf-buildstats' if args.dump_buildstats else None |
592 | notes_ref = 'buildstats/{}/{}/{}'.format(args.hostname, args.branch, | 597 | notes_ref = 'buildstats/{}/{}/{}'.format(args.hostname, args.branch, args.machine) |
593 | args.machine) | 598 | notes_ref2 = None |
594 | buildstats = get_buildstats(repo, notes_ref, [rev_l, rev_r], outdir) | 599 | if args.branch2: |
600 | notes_ref = 'buildstats/{}/{}/{}'.format(args.hostname, args.branch2, args.machine) | ||
601 | notes_ref2 = 'buildstats/{}/{}/{}'.format(args.hostname, args.branch, args.machine) | ||
602 | buildstats = get_buildstats(repo, notes_ref, notes_ref2, [rev_l, rev_r], outdir) | ||
595 | 603 | ||
596 | # Print report | 604 | # Print report |
597 | if not args.html: | 605 | if not args.html: |