Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Issue 2065853002: Add sharding support to browser_test_runner. (Closed)

Created:
4 years, 6 months ago by Ken Russell (switch to Gerrit)
Modified:
4 years, 6 months ago
Reviewers:
nednguyen
CC:
catapult-reviews_chromium.org, telemetry-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git@master
Target Ref:
refs/heads/master
Project:
catapult
Visibility:
Public.

Description

Add sharding support to browser_test_runner. The flags --total-shards and --shard-index control which tests are run on which shard. BUG=chromium:352807 Committed: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+/2984402997902f914c920b8134dc1da5dbb42dd6

Patch Set 1 #

Total comments: 4

Patch Set 2 : Rebased. #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+161 lines, -4 lines) Patch
A telemetry/examples/browser_tests/simple_sharding_test.py View 1 chunk +27 lines, -0 lines 0 comments Download
M telemetry/telemetry/testing/browser_test_runner.py View 5 chunks +45 lines, -4 lines 1 comment Download
M telemetry/telemetry/testing/browser_test_runner_unittest.py View 1 chunk +89 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (4 generated)
Ken Russell (switch to Gerrit)
Ned: please review. Thanks. Mo: FYI. A follow-on Chromium CL will hook this up to ...
4 years, 6 months ago (2016-06-13 23:20:59 UTC) #2
Zhenyao Mo
This is great!
4 years, 6 months ago (2016-06-14 01:42:52 UTC) #3
nednguyen
lgtm https://codereview.chromium.org/2065853002/diff/1/telemetry/telemetry/testing/browser_test_runner.py File telemetry/telemetry/testing/browser_test_runner.py (right): https://codereview.chromium.org/2065853002/diff/1/telemetry/telemetry/testing/browser_test_runner.py#newcode157 telemetry/telemetry/testing/browser_test_runner.py:157: break On 2016/06/13 23:20:59, Ken Russell wrote: > ...
4 years, 6 months ago (2016-06-14 01:48:33 UTC) #4
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/2065853002/diff/1/telemetry/telemetry/testing/browser_test_runner.py File telemetry/telemetry/testing/browser_test_runner.py (right): https://codereview.chromium.org/2065853002/diff/1/telemetry/telemetry/testing/browser_test_runner.py#newcode157 telemetry/telemetry/testing/browser_test_runner.py:157: break On 2016/06/14 01:48:33, nednguyen wrote: > On 2016/06/13 ...
4 years, 6 months ago (2016-06-14 17:41:31 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2065853002/20001
4 years, 6 months ago (2016-06-14 17:42:02 UTC) #8
nednguyen
https://codereview.chromium.org/2065853002/diff/1/telemetry/telemetry/testing/browser_test_runner.py File telemetry/telemetry/testing/browser_test_runner.py (right): https://codereview.chromium.org/2065853002/diff/1/telemetry/telemetry/testing/browser_test_runner.py#newcode157 telemetry/telemetry/testing/browser_test_runner.py:157: break On 2016/06/14 17:41:31, Ken Russell wrote: > On ...
4 years, 6 months ago (2016-06-14 17:49:45 UTC) #9
commit-bot: I haz the power
Committed patchset #2 (id:20001) as https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+/2984402997902f914c920b8134dc1da5dbb42dd6
4 years, 6 months ago (2016-06-14 18:05:28 UTC) #11
nednguyen
https://codereview.chromium.org/2065853002/diff/20001/telemetry/telemetry/testing/browser_test_runner.py File telemetry/telemetry/testing/browser_test_runner.py (right): https://codereview.chromium.org/2065853002/diff/20001/telemetry/telemetry/testing/browser_test_runner.py#newcode52 telemetry/telemetry/testing/browser_test_runner.py:52: |shard_index| is currently being run. Now that I think ...
4 years, 6 months ago (2016-06-17 04:38:00 UTC) #12
Ken Russell (switch to Gerrit)
On 2016/06/17 04:38:00, nednguyen wrote: > https://codereview.chromium.org/2065853002/diff/20001/telemetry/telemetry/testing/browser_test_runner.py > File telemetry/telemetry/testing/browser_test_runner.py (right): > > https://codereview.chromium.org/2065853002/diff/20001/telemetry/telemetry/testing/browser_test_runner.py#newcode52 > ...
4 years, 6 months ago (2016-06-22 02:02:51 UTC) #13
nednguyen
4 years, 6 months ago (2016-06-22 02:12:59 UTC) #14
Message was sent while issue was closed.
On 2016/06/22 02:02:51, Ken Russell wrote:
> On 2016/06/17 04:38:00, nednguyen wrote:
> >
>
https://codereview.chromium.org/2065853002/diff/20001/telemetry/telemetry/tes...
> > File telemetry/telemetry/testing/browser_test_runner.py (right):
> > 
> >
>
https://codereview.chromium.org/2065853002/diff/20001/telemetry/telemetry/tes...
> > telemetry/telemetry/testing/browser_test_runner.py:52: |shard_index| is
> > currently being run.
> > Now that I think about this, why do we need such a complicated algorithm for
> > this? Can we just do s.t like:
> > 
> > for i in xrange(num_tests):
> >   if i % total_shards == shard_index:
> >       add num_tests[i] to list_of_tests_to_run
> > 
> > ?
> 
> I was trying to split things up alphabetically.
> 
> We are probably going to have to change this algorithm in the future because
the
> shards aren't well balanced right now and it's impractical to manually balance
> them. I am looking into producing
> https://www.chromium.org/developers/the-json-test-results-format and reading
it
> back in to get per-test execution times and use that to distribute tests among
> shards.

That sounds awesome.

Powered by Google App Engine
This is Rietveld 408576698