diff options
| author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2017-05-15 14:18:43 +0300 | 
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-05-23 17:44:00 +0100 | 
| commit | a77066751c81f27332cc16c565dff6a45c173b6c (patch) | |
| tree | 85d5cf90e497cd70c7cbf416a490cbb10532833d | |
| parent | 1d99b018c2b6a44b9db2f2ede113e64dae751eee (diff) | |
| download | openembedded-core-a77066751c81f27332cc16c565dff6a45c173b6c.tar.gz openembedded-core-a77066751c81f27332cc16c565dff6a45c173b6c.tar.bz2 openembedded-core-a77066751c81f27332cc16c565dff6a45c173b6c.zip | |
oe-build-perf-report: two verbosity levels for --list
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
| -rwxr-xr-x | scripts/oe-build-perf-report | 45 | 
1 files changed, 33 insertions, 12 deletions
| diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report index 6f0b84f9ec..8190accdc6 100755 --- a/scripts/oe-build-perf-report +++ b/scripts/oe-build-perf-report @@ -82,29 +82,50 @@ def get_test_runs(repo, tag_name, **kwargs):      # Return field names and a sorted list of revs      return undef_fields, sorted(revs) -def list_test_revs(repo, tag_name, **kwargs): +def list_test_revs(repo, tag_name, verbosity, **kwargs):      """Get list of all tested revisions"""      fields, revs = get_test_runs(repo, tag_name, **kwargs)      ignore_fields = ['tag_number'] +    if verbosity < 2: +        extra_fields = ['COMMITS', 'TEST RUNS'] +        ignore_fields.extend(['commit_number', 'commit']) +    else: +        extra_fields = ['TEST RUNS'] +      print_fields = [i for i, f in enumerate(fields) if f not in ignore_fields]      # Sort revs -    rows = [[fields[i].upper() for i in print_fields] + ['TEST RUNS']] -    prev = [''] * len(revs) +    rows = [[fields[i].upper() for i in print_fields] + extra_fields] + +    prev = [''] * len(print_fields) +    prev_commit = None +    commit_cnt = 0 +    commit_field = fields.index('commit')      for rev in revs:          # Only use fields that we want to print -        rev = [rev[i] for i in print_fields] +        cols = [rev[i] for i in print_fields] + + +        if cols != prev: +            commit_cnt = 1 +            test_run_cnt = 1 +            new_row = [''] * (len(print_fields) + len(extra_fields)) -        if rev != prev: -            new_row = [''] * len(print_fields) + [1]              for i in print_fields: -                if rev[i] != prev[i]: +                if cols[i] != prev[i]:                      break -            new_row[i:-1] = rev[i:] +            new_row[i:-len(extra_fields)] = cols[i:]              rows.append(new_row)          else: -            rows[-1][-1] += 1 -        prev = rev +            if rev[commit_field] != prev_commit: +                commit_cnt += 1 +            test_run_cnt += 1 + +        if verbosity < 2: +            new_row[-2] = commit_cnt +        new_row[-1] = test_run_cnt +        prev = cols +        prev_commit = rev[commit_field]      print_table(rows) @@ -411,7 +432,7 @@ Examine build performance test results from a Git repository"""                          help="Verbose logging")      parser.add_argument('--repo', '-r', required=True,                          help="Results repository (local git clone)") -    parser.add_argument('--list', '-l', action='store_true', +    parser.add_argument('--list', '-l', action='count',                          help="List available test runs")      parser.add_argument('--html', action='store_true',                          help="Generate report in html format") @@ -447,7 +468,7 @@ def main(argv=None):      repo = GitRepo(args.repo)      if args.list: -        list_test_revs(repo, args.tag_name) +        list_test_revs(repo, args.tag_name, args.list)          return 0      # Determine hostname which to use | 
