Skip to content
Latchkey

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の遅さ、不安定さ、コストの診断時間を短縮します。

関連ガイド