| #!/bin/bash |
| # Copyright 2019 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # A helper script to query internal tables for build-time performance metrics |
| # for a specific build id. |
| |
| build_id="$1" |
| |
| # Make sure we have gcert access so we don't fail without getting any work done. |
| gcertstatus >&/dev/null || gcert |
| |
| # Run the query. |
| (f1-sql -quiet=1 -csv_output=1 \ |
| | tr -d '"') << SQLtoHERE |
| SELECT |
| board, |
| pkg_phase, |
| seconds |
| FROM ( |
| SELECT |
| install_packages_request.sysroot.build_target.name AS board, |
| ARRAY_TO_STRING( |
| ARRAY(SELECT x FROM UNNEST(SPLIT(event.name, '.')) AS x WHERE x IS NOT NULL), |
| '.') pkg_phase, |
| CAST(ROUND(event.duration_milliseconds / 1000.0) AS INT64) AS seconds |
| FROM |
| chromeos_ci_eng.analysis_event_log.\`all\`, |
| UNNEST(install_packages_response.events) AS event |
| JOIN |
| chromeos_ci_eng.buildbucket_builds AS bb |
| ON |
| build_id = bb.id |
| WHERE |
| array_length(install_packages_response.events) > 0 AND |
| build_id=${build_id} |
| ORDER BY seconds DESC |
| ) |
| WHERE |
| pkg_phase NOT LIKE '%.sysroot.%'; |
| SQLtoHERE |
| |