commit | 9d74d92bfa1a9ae78f36770494dad3a2156ff673 | [log] [tgz] |
---|---|---|
author | Jeff Yoon <jeffyoon@google.com> | Thu Nov 14 01:10:59 2024 |
committer | Catapult LUCI CQ <catapult-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Nov 14 02:01:00 2024 |
tree | 1166039ac7b3cc790859cbc613e1a75fe37857b5 | |
parent | 6eb5c4f1b6a90f697849675451842ade6761fcb0 [diff] |
[perf] introduce --browser=builder to search browsers in out/ The out/ folders have changed to include the builder name with a hash. The specific structure is {4 character salt}-{15 character truncated builder name}. The name of the out/ folder, and the --browser={} argument are dependent on each other. When the telemetry library searches for a browser binary to use, it: 1. generates paths using a static list of known out/ folder options (ie/ release, debug, release_x64, etc.) 2. joins those paths against potential locations of Chrome (ie/ on win, it'd be chrome.exe but on Mac the executable location would be generated elsewhere). 3. checks the out/ folder name of the binary and matches it against what's provided by --browser argument. So if the binary was found at out/Release, it'd be matched with --browser=release. The change in the out folder name breaks this search process. This change updates the search process in telemetry by: 1. Introducing a new browser arg, --browser=builder. When this is set, the search will use regex "^[\w\d]{4}-[\\w\\d\-\_\(\)]{1,15}$" to find the first browser that has a browser with out/ defined by builder name and return the first matching one. This logic is in browser_finder.py. 2. Have desktop_browser_finder.py provide all folders in out/ that may potentially have a Chrome binary, but not defined by the statically maintained list. For example: out/ - Release - 0b5h-linux-perf The logic would add {chrome_root}/out/0b5h-linux-perf as a potential path to search for the Chrome binary. The root call is FindAllAvailableBrowsers() in desktop_browser_finder.py, but this logic is in util.py GetBuildDirectories(). The full fix needs to happen over a two step process, since catapult is rolled in src/. Bug: b/377748127 Change-Id: I333eea65d29c02427e966b4cc04d52b6bd5b9ec0 Reviewed-on: https://chromium-review.googlesource.com/c/catapult/+/6019526 Reviewed-by: John Chen <johnchen@chromium.org> Commit-Queue: Jeff Yoon <jeffyoon@google.com>
Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. This includes:
These tools were created by Chromium developers for performance analysis, testing, and monitoring of Chrome, but they can also be used for analyzing and monitoring websites, and eventually Android apps.
Please see our contributor's guide