New issue
Advanced search Search tips

Issue 807273 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 639530
issue 803137
issue 839543



Sign in to add a comment

Deprecate "Android Builder" bot

Project Member Reported by nedngu...@google.com, Jan 30 2018

Issue description

We would want to finish the migration from this bot to "Android Compile". According to Dave & Stephen: the final blocker is moving resource_sizes.


 
Blocking: 803137
Talked with Andrew offline, this is not a hard blocker for converting perf Android builders to LUCI, as we only need to convert "Android Compile" to LUCI, and keep Android builder" bot as-is.

Once "Android Compile" is converted to LUCI, we can then migrate resource_size scripts to it.

Comment 3 by dtu@chromium.org, May 3 2018

Blocking: 839543
Cc: perezju@chromium.org
Labels: -Pri-2 LUCI-Blocker-Chromium Pri-1
Andrew: can you prioritize this in Q4? We are wanting to convert perf builders to LUCI and it doesn't seem worth it to convert this legacy builder
Cc: estevenson@chromium.org
Based on discussion in bug #839543, here's a stab at a proposal for the change:

1. Run resource_sizes.py from main_waterfall_steps() between building & uploading archive
  * https://cs.chromium.org/chromium/build/scripts/slave/recipe_modules/chromium_tests/api.py?rcl=7bcfa6ae7cfc85169e2a996ce24fbc612df2a051&l=1088
  * Have the resource_sizes.py run output the result to the build directory so that it gets included in the archive
  * Have this step conditional upon a flag in the bot_config
    * https://cs.chromium.org/chromium/src/testing/buildbot/chromium.perf.json?rcl=e20c6e8387cdccf61eef8615ac2b3b0a582b156b&l=798
2. Add a Python test that just reads the result from the build output and reports that as the test result (a no-op test)
  * Doesn't really matter which tester does this. Maybe use android-nexus5x-perf?
  * Question: Would this tester run as frequently as the builder?
3. Check that results are being uploaded to chromeperf & turn off old bots
4. Update all size graph links to point to new bot
5. Migrate historical size metrics to new bot.


Does this sound correct?
Cc: jbudorick@chromium.org
* Question: Would this tester run as frequently as the builder?
I think no. The builder run one per commit, whereas the tester is time-based. 

Why don't we run the step of uploading the results on builder itself like the case of Windows bot? e.g: https://ci.chromium.org/p/chrome/builders/luci.chrome.ci/win64-builder-perf/11821
Cc: efoo@chromium.org
Andrew: any movement this? This the the only blocking bug for deleting the chromium.perf master completely
Cc: agrieve@chromium.org
Owner: estevenson@chromium.org
I can take a look this week.
Eric: any update on this?
Any update on this?
I started a CL a while ago: https://chromium-review.googlesource.com/c/chromium/tools/build/+/1271382 but got stuck on getting resource_sizes to run as an IsolatedScriptTest on a builder - and haven't made any progress since.

Are there any docs that might help me figure this out? I'm not very familiar with how this infrastructure works. Also happy to hand this off if someone else has ideas. 
Caveat I am not familiar with the resources_sizes test at all, but would be it be possible to add another option to our performance test suite runner for non-telemetry python based tests?

ie similar to https://cs.chromium.org/chromium/src/testing/scripts/run_performance_tests.py?q=run_performance_&sq=package:chromium&g=0&l=200
 for c++ executables?
I think a lot of the issue re: why there's no progress here is that estevenson and I are not familiar with the infra side of these changes, and only with resource_sizes.py.

If it helps, resource_sizes.py isn't really a test, but a tool that measures the size of things. It could easily run as part of the build, and produces chartjson (or any format you'd like if it's easier). 

Our main concern is that it be collecting metrics for every build (rather than every tester). So if run_performance_tests.py helps with that, then I'm sure it'd be easy to hook in.
Can you clarify what you mean by every build instead of for every tester?

When you say tester I think of each configuration (ie linux-perf or win-10-perf) and each tester or configuration runs each build.  Then the resource_sizes.py would run once each build with the rest of the perf test suite on that bot. 

Or are you referring to the "builders" when you say build, ie mac-builder-perf or linux-builder-perf?  In which case the script would not be appropriate for that.
Right now we get metrics from this script for basically every commit. E.g. when you click a point on the perf graph, it has only one commit in its revision range. This is the property that I'd like to maintain during this move.
The per-commit property comes from the builder frequency setting. As long as we make sure that the sizes & upload are test steps in android builder (new one is LUCI base), that property should be maintained.
I notice that we already run sizes script on Windows builder in https://ci.chromium.org/p/chrome/builders/luci.chrome.ci/win32-builder-perf/31871. I propose that for now, we mimic how that's done on Windows for the Android builder to unblock removing "Android Builder" bot. 

Converting all sizes step to IsolatedScriptTest can be done in a separate effort to reduce the scope of this work.

John: since you proposed converting resource_sizes to IsolatedScriptTest, can you chime in?
I can take this over if you'd like.
Owner: jbudorick@chromium.org
#21: that would be hugely appreciated since this is the last blocker of converting perf to LUCI
Blocking: 639530

Sign in to add a comment