コンテンツにスキップ

パイプライン実行を監視

このページでは、実行が開始された後のすべてを扱います。実行を見つけること、各ステップが何を行ったかを読むこと、失敗した実行を再び動かすことです。実行を開始するには、パイプラインを手動実行を参照してください。

  1. ワークスペースのサイドバーでパイプラインをクリックします。この画面はワークスペースの実行キューであり、すべての実行が新しい順に並びます。
  2. 左のレールで絞り込みます。フィルターはちょうど 3 つあり、それぞれにリアルタイムの件数が表示されます。すべて、実行中、失敗です。
  3. ↑/↓(または j/k)でテーブルを移動し、Enter を押してフォーカス中の実行を開きます。行をクリックしても同じです。

各行には、実行がどのように開始されたかを示すグリフが表示されます(手動なら再生アイコン、コードグラフのウォッチならファイルのグリフ、それ以外は自動トリガー)。ツールチップにはトリガー名(手動、PR が公開、ファイル変更など)が表示され、ウォッチ実行の場合は変更されたファイルも表示されます。その後ろにパイプライン名、ステータスバッジ、アクティブ時間(queued の実行ではキューの位置)、この試行が開始されてからの経過時間が続きます。アクティブ時間はアイドル状態の停止と再起動の間隔を除外するため、実際の経過時間ではありません。

完了した実行、一時停止した実行、キャンセルされた実行のフィルターはなく、テンプレートごとのフィルター、時間枠、テンプレートごとの実行履歴ビューもありません。あるテンプレートの実行を比較するには、キューを名前で走査することになります。

実行のページは 3 つの部分が縦に並んでいます。

メタストリップには、開始時刻、アクティブ時間、ステップの進捗(「7 ステップ中 3」)、壊れたステップとその理由を示す失敗の概要、そして再試行と削除のアクションが表示されます。

タイミングウォーターフォールはステップごとに 1 本のバーを表示し、その所要時間と、エージェントステップの場合はセント単位のコストを示します。再試行されたステップは、所要時間の後ろに ×N という接尾辞が付きます。試行回数が現れるのはこの接尾辞だけです。

グラフキャンバスは、各ノードのライブステータスとともにテンプレートを描画します。ノードを選択すると、そのステップパネルが開きます。

ステータス 意味
保留中 作成済みだが、まだ開始されていない
キュー済み 受け入れられたが保留されている。このテンプレートの最大並列数の上限に達しており、ステップの行はまだない
実行中 実行している
一時停止 外部の何かを待っている。正常であり、スタックしているわけではない
完了 正常に終了した
失敗 エラーで終了した
キャンセル済み ユーザーまたはシステムによって停止された

ステップには、これらのステータスからキュー済みを除いたものに加えて、ルーターが取らなかったブランチ(およびその結果到達不能になった子孫)に対するスキップ済みがあります。

一時停止は、エージェントステップがその生涯の大半を過ごす状態です。ディスパッチされたエージェントまたは承認ゲートが、その作業が完了するまでステップを保持します。エンジンには、再開するのではなく実行全体を失敗させる安全弁が 2 つあります。24 時間を超えて一時停止したステップ(extras.awaitApproval(orchestration.awaitApproval ボディ)は免除され、human.gate は免除されません)と、サーバー停止時に処理中だった非冪等ステップです。

キャンバス上のノードを選択します。ステップパネルには次の順序で表示されます。

  • ステップが失敗した場合はエラーのコールアウト、スキップされた場合は理由を伴うスキップ済みのコールアウト。
  • 開始、終了、所要時間。
  • ブランチ — 並列ブランチの場合のブランチインデックス。
  • 会話を表示 — ステップが実行された会話にジャンプします。パイプラインの会話はサイドバーから隠されているため、これが唯一の入り口です。
  • 入力と出力 — 折りたたみ可能な JSON として。
  • エージェントのアクティビティ — ステップがディスパッチしたエージェント実行ごとに 1 つのタイル。そのステータス、概要、所要時間、コストを表示します。

エージェントステップの場合、出力はエージェントが submit_output で送信した構造化ペイロードであり、その散文ではありません。推論トレースはエージェントのアクティビティと、会話を表示の背後にある会話にあります。

bash ステップの場合、出力はスクリプトが終了コード 0 で書き出した、前後の空白を除いた stdout です。終了コードが非ゼロの場合、stderr の末尾をエラーメッセージとしてステップが失敗します。

  1. メタストリップの失敗の概要を読みます。そこに失敗したステップが示されています。メッセージはステップパネルのエラーコールアウトにあります。
  2. ステップの入力を確認します。ステートキーの欠落や綴り間違いが最も一般的な原因です。プロンプトエージェントのステップは即座に失敗し、未解決のプレースホルダーを名指しします。bash ステップはそれらを空文字列としてレンダリングしてそのまま実行するため、通常は 1 ステップ後に表面化します。
  3. エージェントステップの場合は、会話を表示を開き、エージェントが実際に行ったことを読みます。
  4. メタストリップの再試行を押します。完了したステップとスキップされたステップは出力を保持し、それ以外はすべて削除されて再実行され、実行は実行中に戻ります。所要時間の計測はこの試行のために再スタートします。

まず確認する価値のある一般的な原因:

  • タイムアウト — ステップが**タイムアウト (ms)**を超えました。このフィールドがミリ秒であることを忘れないでください。
  • スクリプトエラー — bash コマンドが非ゼロで終了したか、bash がサーバーホストの PATH にありません。
  • スキーマ検証 — エージェントの submit_output ペイロードがステップの出力スキーマを満たしませんでした。
  • 未解決のプレースホルダー — プロンプトエージェントのステップが参照した {{key}} が上流で一度も書き込まれませんでした。エラーは未解決のすべてのキーを名指しします。
  • 未登録のボディ — ボディキーが登録されていないステップは、テンプレートの読み込み時に警告を出し、その後は単に決して実行されません。

実行中のステップを選択し、ステップパネルのヘッダーにある実行中を強制終了ボタンを押します。これによりステップのプロセスが強制終了され、ステップは失敗としてマークされ、したがって実行全体が失敗します。開いている兄弟ブランチもすべて一緒に閉じられます。

この画面には実行をキャンセルする操作はありません。pipeline.cancel は RPC オペレーションとして存在し、エンジンも実装していますが、パイプライン UI のどこからも呼び出されません。ステップの実行中を強制終了、または実行の削除だけが、利用できる唯一の停止操作です。

コストはステップごとに、ウォーターフォールの右端の列と、エージェントのアクティビティの下の各タイルに表示されます。詳細ページに実行の合計はなく、実行キューにコスト列もないため、2 つの実行のコストを比較するには、それぞれのステップを合計することになります。