CodeBuildの処理時間を一覧出力したかったのでメモ。
CodeBuild上だと各実行毎の値しか表示できず、過去の実行分と比較したい場合に不便です。
CloudWatch も定期的に実行しているBuildであれば問題ないですが、期間が空いてしまうと見難いです。
CodeBuild
CodeBuild コンソール上で確認できます。
- Build Project全体
- Phase毎
CloudWatch
各Durationメトリクスが用意されています。
{
"metrics": [
[ "AWS/CodeBuild", "SubmittedDuration", "ProjectName", "xxxxx" ],
[ ".", "QueuedDuration", ".", "." ],
[ ".", "ProvisioningDuration", ".", "." ],
[ ".", "DownloadSourceDuration", ".", "." ],
[ ".", "InstallDuration", ".", "." ],
[ ".", "PreBuildDuration", ".", "." ],
[ ".", "BuildDuration", ".", "." ],
[ ".", "PostBuildDuration", ".", "." ],
[ ".", "UploadArtifactsDuration", ".", "." ],
[ ".", "FinalizingDuration", ".", "." ],
[ ".", "Duration", ".", ".", { "yAxis": "right" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-1",
"stat": "Maximum",
"period": 60,
"yAxis": {
"left": {
"min": 0
},
"right": {
"min": 0
}
},
"title": "CodeBuild Durations"
}

AWS CLI
batch-get-builds と tsv 形式での出力のため jq を併用します。
List output of AWS CodeBuild duration times.
こんな感じのデータ出力になります。

適宜グラフ化などを行います。


