pipeline可観測性とは? CIがなぜそう振る舞うかを理解する
pipeline可観測性は、メトリクス、ログ、run全体のタイミングを用いて、pipelineがなぜそのように振る舞うかを理解する能力です。
dashboardはpipelineが遅い、あるいはflakyであることを教えます。可観測性はなぜかを教えます。pipeline可観測性は、CIを計測し分析することで、予期していなかった問いに答えられるようにする手法です。どのstepが劣化したか、なぜキュー時間が急増したか、どのjobが最も失敗を引き起こすかなどです。CIをブラックボックスから、推論できるシステムへと変えます。
pipeline可観測性の柱
- メトリクス: 所要時間、キュー時間、成功率、コスト。
- ログ: 各stepが何をしたかの詳細な記録。
- trace: run内のjob全体で時間がどう費やされるか。
- 傾向: 上記すべてが時間とともにどう変化するか。
モニタリング vs 可観測性
モニタリングは既知のシグナルを監視し、しきい値でアラートします (buildが20分超過) 。可観測性は未知を調査できます。何かがおかしいとき、そのためのグラフを事前に用意していなくても、データをスライスして原因を見つけられます。
簡単な例
先週buildが遅くなりました。可観測性があれば、所要時間をstep別に分解し、依存関係のインストールが倍増したことを見つけ、それをヒットしなくなったcacheまで辿り、cache keyを修正します。すべて当てずっぽうではなくデータからです。
なぜ重要か
pipelineは重要なインフラです。CIが遅い、あるいは壊れていると、すべての開発者がブロックされます。可観測性はCIの問題を診断し修正する時間を短縮し、チームを待たせるのではなく出荷し続けさせます。
可観測性とrunner
pipelineの時間とコストの多くはrunnerレイヤー (キュー時間、起動、キャパシティ) に存在します。マネージドrunner (Latchkey) はjobごとの計測とタイミングを出力し、時間とお金が実際にどこへ行くかを見るために必要なrunnerレベルのデータを可観測性に供給します。
重要なポイント
- pipeline可観測性は、CIがなぜそう振る舞うかを理解することです。
- メトリクス、ログ、trace、run全体の傾向を組み合わせます。
- CIの遅さ、不安定さ、コストの診断時間を短縮します。
関連ガイド
What Is a Pipeline Dashboard? Seeing Your CI at a GlanceA pipeline dashboard is the view that shows pipeline runs, statuses, durations, and trends in one place. Lear…
What Is a Pipeline Status? Reading Pass, Fail, and PendingA pipeline status is the outcome state of a run, like success, failure, pending, or cancelled. Learn how stat…
What Is a Build Queue? Where Jobs Wait for a RunnerA build queue is the line of jobs waiting for an available agent to run them. Learn how queues form, why queu…