summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xscripts/oe-build-perf-report31
1 files changed, 23 insertions, 8 deletions
diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report
index b7b09391cb..b3c769895e 100755
--- a/scripts/oe-build-perf-report
+++ b/scripts/oe-build-perf-report
@@ -541,8 +541,8 @@ Examine build performance test results from a Git repository"""
541 default='{hostname}/{branch}/{machine}/{commit_number}-g{commit}/{tag_number}', 541 default='{hostname}/{branch}/{machine}/{commit_number}-g{commit}/{tag_number}',
542 help="Tag name (pattern) for finding results") 542 help="Tag name (pattern) for finding results")
543 group.add_argument('--hostname', '-H') 543 group.add_argument('--hostname', '-H')
544 group.add_argument('--branch', '-B', default='master') 544 group.add_argument('--branch', '-B', default='master', help="Branch to find commit in")
545 group.add_argument('--branch2') 545 group.add_argument('--branch2', help="Branch to find comparision revisions in")
546 group.add_argument('--machine', default='qemux86') 546 group.add_argument('--machine', default='qemux86')
547 group.add_argument('--history-length', default=25, type=int, 547 group.add_argument('--history-length', default=25, type=int,
548 help="Number of tested revisions to plot in html report") 548 help="Number of tested revisions to plot in html report")
@@ -581,13 +581,18 @@ def main(argv=None):
581 revs = get_test_revs(repo, args.tag_name, hostname=args.hostname, 581 revs = get_test_revs(repo, args.tag_name, hostname=args.hostname,
582 branch=args.branch, machine=args.machine) 582 branch=args.branch, machine=args.machine)
583 if args.branch2: 583 if args.branch2:
584 revs = revs + get_test_revs(repo, args.tag_name, hostname=args.hostname, 584 revs2 = get_test_revs(repo, args.tag_name, hostname=args.hostname,
585 branch=args.branch2, machine=args.machine) 585 branch=args.branch2, machine=args.machine)
586 586 if not len(revs2):
587 if len(revs) < 2: 587 log.error("No revisions found to compare against")
588 log.error("%d tester revisions found, unable to generate report", 588 return 1
589 len(revs)) 589 if not len(revs):
590 return 1 590 log.error("No revision to report on found")
591 return 1
592 else:
593 if len(revs) < 2:
594 log.error("Only %d tester revisions found, unable to generate report" % len(revs))
595 return 1
591 596
592 # Pick revisions 597 # Pick revisions
593 if args.commit: 598 if args.commit:
@@ -599,6 +604,11 @@ def main(argv=None):
599 else: 604 else:
600 index1 = len(revs) - 1 605 index1 = len(revs) - 1
601 606
607 if args.branch2:
608 revs2.append(revs[index1])
609 index1 = len(revs2) - 1
610 revs = revs2
611
602 if args.commit2: 612 if args.commit2:
603 if args.commit_number2: 613 if args.commit_number2:
604 log.warning("Ignoring --commit-number2 as --commit2 was specified") 614 log.warning("Ignoring --commit-number2 as --commit2 was specified")
@@ -608,6 +618,11 @@ def main(argv=None):
608 else: 618 else:
609 if index1 > 0: 619 if index1 > 0:
610 index2 = index1 - 1 620 index2 = index1 - 1
621 # Find the closest matching commit number for comparision
622 # In future we could check the commit is a common ancestor and
623 # continue back if not but this good enough for now
624 while index2 > 0 and revs[index2].commit_number > revs[index1].commit_number:
625 index2 = index2 - 1
611 else: 626 else:
612 log.error("Unable to determine the other commit, use " 627 log.error("Unable to determine the other commit, use "
613 "--commit2 or --commit-number2 to specify it") 628 "--commit2 or --commit-number2 to specify it")