Deign Doc: Chromium build time profiler
How to:
See infra/go/README.md for preparation.
to compile
$ make build
to deploy to production
$ make deploy-prod
to run test
$ make test
Setup
$ bq --project_id=$PROJECT mk ninjalog
$ make update-staging # for staging $ make update-prod # for prod
Ninja log is uploaded from user too. Upload script is located in depot_tools.
SELECT
(
SELECT
value
FROM
UNNEST(build_configs)
WHERE
key = "target_os") target_os,
os,
SUBSTR(ARRAY_TO_STRING(outputs, ", "), 0, 128) outputs,
ROUND(AVG(end_duration_sec - start_duration_sec), 2) task_duration_avg,
ROUND(SUM(end_duration_sec - start_duration_sec), 2) task_duration_sum,
ROUND(SUM(weighted_duration_sec), 2) weighted_duration_sum,
COUNT(1) cnt
FROM
`chromium-build-stats.ninjalog.users`, UNNEST(log_entries)
WHERE
created_at >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
GROUP BY
target_os,
os,
outputs
ORDER BY
weighted_duration_sum DESC