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

Issue 1423993007: CT Perf recipe to run benchmarks on the top 1k sites using swarming (Closed)

Created:
5 years, 1 month ago by rmistry
Modified:
5 years ago
CC:
chromium-reviews, infra-reviews+build_chromium.org, kjellander-cc_chromium.org, stip+watch_chromium.org, nednguyen
Base URL:
https://chromium.googlesource.com/chromium/tools/build@master
Target Ref:
refs/heads/master
Project:
build
Visibility:
Public.

Description

CT Perf recipe to run benchmarks on the top 1k sites using swarming. An explanation of what the recipe does: * Downloads the chrome build from the parent build. * For each shard we want to run: * Downloads all required page sets and archives from Google Storage. * Batch archives everything on the isolate server using the isolate file added in https://codereview.chromium.org/1410353007/ * Triggers a swarming task. * The swarming task runs benchmark on the archives and uploads results to chromeperf.appspot.com * Waits for swarming task to complete. I have triggered tasks on swarming and things appear to be working. Here are some timings with 1 page repeat (this might be upped to 3 page repeats for more reliable results)- 1 slave: 7 mins 2 slaves: 8 mins. 3 slaves: 9 mins 50 slaves: 38 mins (during MTV peak time) 100 slaves: 68 mins (early EST so not during MTV peak time) Each swarming task appears to take around 6-7 mins. BUG=skia:4503 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=297686

Patch Set 1 : Initial upload #

Patch Set 2 : Working e2e but perf upload remaining #

Patch Set 3 : Ready for review after cleanup #

Total comments: 24

Patch Set 4 : Address feedback #

Total comments: 2

Patch Set 5 : Use batcharchive #

Total comments: 12

Patch Set 6 : Address comments #

Patch Set 7 : Extract reusable functionality into recipe modules #

Total comments: 6

Patch Set 8 : Use isolate and swarming recipes #

Total comments: 10

Patch Set 9 : Address comments #

Patch Set 10 : Create placeholder for tests #

Patch Set 11 : Add task_output_dir #

Patch Set 12 : Use extra vars instead of isolate templates #

Patch Set 13 : Set executable bit on binary #

Patch Set 14 : Use file api for writing and inline python for exec bit #

Patch Set 15 : Add tests and cleanup #

Patch Set 16 : Undo changes to master.cfg and slaves.cfg #

Patch Set 17 : Rename ct_top1k_rr_perf to ct_top1k_perf #

Total comments: 10

Patch Set 18 : Address comments #

Total comments: 2

Patch Set 19 : Use enumerate #

Patch Set 20 : Fix indentation in slaves.cfg #

Unified diffs Side-by-side diffs Delta from patch set Stats (+4453 lines, -5 lines) Patch
M masters/master.chromium.perf.fyi/master.cfg View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +9 lines, -0 lines 0 comments Download
M masters/master.chromium.perf.fyi/slaves.cfg View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +8 lines, -0 lines 0 comments Download
A scripts/slave/recipe_modules/ct_swarming/OWNERS View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
A + scripts/slave/recipe_modules/ct_swarming/__init__.py View 1 2 3 4 5 6 1 chunk +6 lines, -4 lines 0 comments Download
A scripts/slave/recipe_modules/ct_swarming/api.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +166 lines, -0 lines 0 comments Download
A scripts/slave/recipes/perf/ct_top1k_perf.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +151 lines, -0 lines 0 comments Download
A scripts/slave/recipes/perf/ct_top1k_perf.expected/CT_Top1k_RR.json View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1409 lines, -0 lines 0 comments Download
A scripts/slave/recipes/perf/ct_top1k_perf.expected/CT_Top1k_Repaint.json View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1409 lines, -0 lines 0 comments Download
A + scripts/slave/recipes/perf/ct_top1k_perf.expected/CT_Top1k_Unsupported.json View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -1 line 0 comments Download
A scripts/slave/recipes/perf/ct_top1k_perf.expected/CT_Top1k_slave3_failure.json View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1291 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 76 (46 generated)
rmistry
Hi Marc-Antoine, This is still unpolished. I would like to extract some things into recipe_modules ...
5 years, 1 month ago (2015-11-06 18:30:33 UTC) #8
M-A Ruel
Can you delete patchsets #1 to #19? Thanks. https://codereview.chromium.org/1423993007/diff/380001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py File scripts/slave/recipes/perf/ct_top1k_rr_perf.py (right): https://codereview.chromium.org/1423993007/diff/380001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py#newcode5 scripts/slave/recipes/perf/ct_top1k_rr_perf.py:5: import ...
5 years, 1 month ago (2015-11-06 18:56:06 UTC) #10
rmistry
On 2015/11/06 18:56:06, M-A Ruel wrote: > Can you delete patchsets #1 to #19? Thanks. ...
5 years, 1 month ago (2015-11-09 16:23:41 UTC) #29
rmistry
https://codereview.chromium.org/1423993007/diff/380001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py File scripts/slave/recipes/perf/ct_top1k_rr_perf.py (right): https://codereview.chromium.org/1423993007/diff/380001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py#newcode5 scripts/slave/recipes/perf/ct_top1k_rr_perf.py:5: import os On 2015/11/06 18:56:06, M-A Ruel wrote: > ...
5 years, 1 month ago (2015-11-09 16:23:50 UTC) #30
M-A Ruel
https://codereview.chromium.org/1423993007/diff/380001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py File scripts/slave/recipes/perf/ct_top1k_rr_perf.py (right): https://codereview.chromium.org/1423993007/diff/380001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py#newcode35 scripts/slave/recipes/perf/ct_top1k_rr_perf.py:35: # Number of slaves to shard CT runs to. ...
5 years, 1 month ago (2015-11-09 16:51:21 UTC) #31
rmistry
https://codereview.chromium.org/1423993007/diff/380001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py File scripts/slave/recipes/perf/ct_top1k_rr_perf.py (right): https://codereview.chromium.org/1423993007/diff/380001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py#newcode35 scripts/slave/recipes/perf/ct_top1k_rr_perf.py:35: # Number of slaves to shard CT runs to. ...
5 years, 1 month ago (2015-11-09 19:37:24 UTC) #32
M-A Ruel
https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py File scripts/slave/recipes/perf/ct_top1k_rr_perf.py (right): https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py#newcode39 scripts/slave/recipes/perf/ct_top1k_rr_perf.py:39: build_archive_url = api.properties['parent_build_archive_url'] I think you could inline this ...
5 years, 1 month ago (2015-11-09 19:46:46 UTC) #33
nednguyen
https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py File scripts/slave/recipes/perf/ct_top1k_rr_perf.py (right): https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py#newcode143 scripts/slave/recipes/perf/ct_top1k_rr_perf.py:143: # requires bitmaptools in PRODUCT_DIR. Bitmaptools build is used ...
5 years, 1 month ago (2015-11-09 23:04:32 UTC) #35
rmistry
https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py File scripts/slave/recipes/perf/ct_top1k_rr_perf.py (right): https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py#newcode39 scripts/slave/recipes/perf/ct_top1k_rr_perf.py:39: build_archive_url = api.properties['parent_build_archive_url'] On 2015/11/09 19:46:45, M-A Ruel wrote: ...
5 years, 1 month ago (2015-11-10 12:58:06 UTC) #36
nednguyen
My build knowledge is very questionable. +Kbr: how did your gpu test use telemetry.isolate without ...
5 years, 1 month ago (2015-11-10 14:05:39 UTC) #38
rmistry
In @Patchset7 I extracted reusable functionality into a ct_swarming recipe module. On 2015/11/10 12:58:06, rmistry ...
5 years, 1 month ago (2015-11-11 18:06:36 UTC) #41
M-A Ruel
https://codereview.chromium.org/1423993007/diff/520001/scripts/slave/recipe_modules/ct_swarming/api.py File scripts/slave/recipe_modules/ct_swarming/api.py (right): https://codereview.chromium.org/1423993007/diff/520001/scripts/slave/recipe_modules/ct_swarming/api.py#newcode5 scripts/slave/recipe_modules/ct_swarming/api.py:5: import urllib Remove https://codereview.chromium.org/1423993007/diff/520001/scripts/slave/recipe_modules/ct_swarming/api.py#newcode144 scripts/slave/recipe_modules/ct_swarming/api.py:144: json_output = self.swarming_temp_dir.join('ct-task-%s.json' % ...
5 years, 1 month ago (2015-11-11 23:53:36 UTC) #42
rmistry
https://codereview.chromium.org/1423993007/diff/520001/scripts/slave/recipe_modules/ct_swarming/api.py File scripts/slave/recipe_modules/ct_swarming/api.py (right): https://codereview.chromium.org/1423993007/diff/520001/scripts/slave/recipe_modules/ct_swarming/api.py#newcode144 scripts/slave/recipe_modules/ct_swarming/api.py:144: json_output = self.swarming_temp_dir.join('ct-task-%s.json' % slave_num) On 2015/11/11 23:53:36, M-A ...
5 years, 1 month ago (2015-11-12 00:07:34 UTC) #43
M-A Ruel
https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py File scripts/slave/recipes/perf/ct_top1k_rr_perf.py (right): https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py#newcode168 scripts/slave/recipes/perf/ct_top1k_rr_perf.py:168: api.swarming_client.path.join('isolate.py'), On 2015/11/10 12:58:06, rmistry wrote: > On 2015/11/09 ...
5 years, 1 month ago (2015-11-12 00:36:02 UTC) #44
rmistry
https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py File scripts/slave/recipes/perf/ct_top1k_rr_perf.py (right): https://codereview.chromium.org/1423993007/diff/440001/scripts/slave/recipes/perf/ct_top1k_rr_perf.py#newcode168 scripts/slave/recipes/perf/ct_top1k_rr_perf.py:168: api.swarming_client.path.join('isolate.py'), On 2015/11/12 00:36:01, M-A Ruel wrote: > On ...
5 years, 1 month ago (2015-11-12 14:39:17 UTC) #46
M-A Ruel
Sorry for the delays as I'm travelling. My main goal here is to reduce the ...
5 years, 1 month ago (2015-11-12 17:33:41 UTC) #47
Ken Russell (switch to Gerrit)
On 2015/11/10 14:05:39, nednguyen wrote: > My build knowledge is very questionable. > +Kbr: how ...
5 years, 1 month ago (2015-11-12 23:41:49 UTC) #48
rmistry
On 2015/11/12 23:41:49, Ken Russell wrote: > On 2015/11/10 14:05:39, nednguyen wrote: > > My ...
5 years, 1 month ago (2015-11-13 14:41:40 UTC) #49
rmistry
https://codereview.chromium.org/1423993007/diff/560001/scripts/slave/recipe_modules/ct_swarming/api.py File scripts/slave/recipe_modules/ct_swarming/api.py (right): https://codereview.chromium.org/1423993007/diff/560001/scripts/slave/recipe_modules/ct_swarming/api.py#newcode19 scripts/slave/recipe_modules/ct_swarming/api.py:19: self.chromium_src_dir = None On 2015/11/12 17:33:41, M-A Ruel wrote: ...
5 years, 1 month ago (2015-11-13 14:59:58 UTC) #52
rmistry
* Cleaned up things after https://codereview.chromium.org/1410353007/ landed in chromium/src. * Added tests. * Removed changes ...
5 years, 1 month ago (2015-11-19 16:17:17 UTC) #59
rmistry
On 2015/11/19 16:17:17, rmistry wrote: > * Cleaned up things after https://codereview.chromium.org/1410353007/ landed in > ...
5 years, 1 month ago (2015-11-20 17:03:10 UTC) #60
M-A Ruel
https://codereview.chromium.org/1423993007/diff/820001/scripts/slave/recipe_modules/ct_swarming/api.py File scripts/slave/recipe_modules/ct_swarming/api.py (right): https://codereview.chromium.org/1423993007/diff/820001/scripts/slave/recipe_modules/ct_swarming/api.py#newcode30 scripts/slave/recipe_modules/ct_swarming/api.py:30: return self._downloads_dir I'd prefer return self.m.path['checkout'].join('content', 'test', 'ct') so ...
5 years, 1 month ago (2015-11-20 18:14:02 UTC) #61
rmistry
Also kept back changes to master.cfg and slaves.cfg because https://code.google.com/p/chromium/issues/detail?id=557269 was resolved. https://codereview.chromium.org/1423993007/diff/820001/scripts/slave/recipe_modules/ct_swarming/api.py File scripts/slave/recipe_modules/ct_swarming/api.py ...
5 years, 1 month ago (2015-11-23 15:13:49 UTC) #63
M-A Ruel
lgtm Thanks for bearing with me. I think the resulting CTSwarmingApi is easier to reason ...
5 years, 1 month ago (2015-11-23 15:19:57 UTC) #64
rmistry
Thanks for the thorough review! https://codereview.chromium.org/1423993007/diff/860001/scripts/slave/recipe_modules/ct_swarming/api.py File scripts/slave/recipe_modules/ct_swarming/api.py (right): https://codereview.chromium.org/1423993007/diff/860001/scripts/slave/recipe_modules/ct_swarming/api.py#newcode150 scripts/slave/recipe_modules/ct_swarming/api.py:150: for swarm_hash in swarm_hashes: ...
5 years, 1 month ago (2015-11-23 16:07:28 UTC) #66
nednguyen
+Dave
5 years, 1 month ago (2015-11-23 16:13:34 UTC) #68
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1423993007/920001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1423993007/920001
5 years, 1 month ago (2015-11-23 16:15:38 UTC) #70
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-11-23 16:18:49 UTC) #72
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1423993007/920001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1423993007/920001
5 years ago (2015-11-24 13:32:02 UTC) #75
commit-bot: I haz the power
5 years ago (2015-11-24 13:35:11 UTC) #76
Message was sent while issue was closed.
Committed patchset #20 (id:920001) as
http://src.chromium.org/viewvc/chrome?view=rev&revision=297686

Powered by Google App Engine
This is Rietveld 408576698