New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 738571 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Aug 6
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

The perf waterfall should build the battor agent via chrome_telemetry_build

Project Member Reported by charliea@chromium.org, Jun 30 2017

Issue description

nednguyen@ mentioned to me today that the FYI waterfall is going to be losing many of the bots, among them the bots that we use to constantly build new versions of the BattOr agent so that we don't have to find machines of three different platforms (Linux, Mac, Win) every time that we want to release a new version of the BattOr agent.

However, he suggested that we could move to using chrome_telemetry_build instead. Basically, this file allows us to specify a dependency to build (in our case, //tools/battor_agent) and include that compiled dependency in the Telemetry isolate that we ship to the swarming bots to run Telemetry tests. https://cs.chromium.org/chromium/src/tools/perf/chrome_telemetry_build/BUILD.gn is probably the place that we want to put that dependency.

Once that binary is being compiled into the Telemetry isolate, we can actually tell Telemetry to use that binary by default rather than the binary in cloud storage. This has the advantage that any changes made to the BattOr agent will be immediately reflected in Telemetry benchmarks running on the waterfall, removing an annoying step from the process. We'll still want some version of the BattOr agent in cloud storage for when 1) the Telemetry user doesn't have a compiled BattOr agent in their checkout or 2) the battor_wrapper is running independently of Telemetry, such as for Telemetry integration tests like battor_wrapper_unittest.py. This can be achieved by adding a BattOr agent entry into the "client" config in https://cs.chromium.org/chromium/src/tools/perf/chrome_telemetry_build/binary_dependencies.json. By default, this client config would override the Catapult config in https://cs.chromium.org/chromium/src/third_party/catapult/common/battor/battor/battor_binary_dependencies.json when both the client config and the built binary were present. However, if either were missing, the client config would defer to the default config, which would pull from cloud storage.

When we want to upload a new binary to cloud storage, we can pull down the isolate from  Telemetry perf tests on three different platforms and open that to find the battor_agent binaries that we can upload to cloud storage.
 
Status: WontFix (was: Assigned)
Marking this as WontFix, given that the BattOr agent is being deleted
Components: Test>Telemetry
Components: -Speed>Telemetry

Sign in to add a comment