PipelineDocs
GitHub
Docs / Web UI

Web UI 画面ガイド

左のサイドバーが Web UI のナビゲーションに対応します。各画面の見どころと操作をまとめます。

Dashboard

制御プレーンの全体状態を一画面で把握するトップページです (ルート /、3秒更新)。

パネル内容
稼働ワーカーいま処理中の worker 数と待機数。処理中 workload ごとに worker ID バッジを最大20件表示します。
最近の失敗直近10件から失敗を抽出。0件なら「順調です」、それ以外は workload 名 / pk / 経過 / 失敗理由を最大5件。
キュー深さenabled 各 workload の pending / claimed / failed をバッジ + スタックバーで可視化。合計 pending を大きく表示します。
GPUメトリクス物理ホストごとに1カード。過去30分・10秒更新で、最高温度 / worker 数 / 使用率バー / GPU ごとのスパークライン (温度・電力W・使用率%・VRAM GB・メモリ帯域%)。

Flow (フロー図)

パイプライン全体を、装置 (workload) とタンク (キュー) を配管でつないだプラント図 (SCADA 風) として表示します (ルート /flow)。/api/v1/flow/snapshot を3秒ごとに取得して再描画します。

ノードの種類

  • Workload ノード — 装置カード。状態バッジ (running / idle / failed / backoff)、スループット/分、投入数 (直近60分)、最終 tick 時刻、適応バッジ (⏱ interval_s / 📄 page_limit / 🧵 hard_cap)。歯車から制御モーダルを開けます。failed は赤黒の「✕ ERROR」テープを重ねます。
  • Tank ノード (DBキュー) — 液面が滞留量に応じて上下する矩形タンク。pending 数 / capacity_warn / IN・OUT 毎分。液面比率1.0以上でオーバーフロー「⚠ WARNING」テープ。
  • External ノード — 破線カード。外部システム (hub 等) を表します。

エッジは粒子が流れる「配管」アニメーションで、粒子速度 / ラベルが毎分レートを反映します。双方向ペアは1本にまとめられ、他ノードを避けて自動配線されます。

この画面でできる操作

  • ノードのドラッグ配置 — 位置はデバウンスして flow_layout.yaml に自動保存 (PATCH /api/v1/flow/layout)。
  • GPU緊急エラー赤ボックス — 左上に常駐。GPU 障害シグネチャ (Xid / CUBLAS / fell off the bus / MPS 等) を検出し最前面に赤く点滅表示します。
  • Worker × Workload マトリクス — 右上 (折りたたみ可)。全 worker × 全 enabled workload の格子。緑●=claim 許可 / 灰=filter 未設定 (全許可) / 空欄=除外。セルクリックで worker の claim filter をトグルできます。
  • 注釈ツールバー — 下部。Text / Line / Rect を描画。localStorage に保存されます。
  • Tune モーダル — ノードの歯車から。supervisor 自動制御トグル、フローゲージ、弱/強 (priority±10)、そして 担当 worker 数 / batch_size / priority / lease_secs / min_resident_workers / max_concurrent_per_host / max_workers / max_concurrent_total を +/- ノブで即時調整できます。

Throughput (スループット)

ノードごとの処理レート (items/分) の時系列です (ルート /throughput)。/api/v1/flow/rates (1分バケット集約) を10秒ごとに取得します。ヘッダに Paprika 投入レートと全ノード合計を表示します。

  • 表示切替 — 並べる (グリッド small-multiples) / 重ねる (オーバーレイ)。時間範囲 1h / 6h / 24h。
  • オーバーレイ — 全系列を1つのチャートに。線ホバーでハイライト + ツールチップ。「正規化」で各線を自ピークに揃え形状比較。
  • 凡例チップ — 現在値 + 前分比の ▲▼。クリックで各ノードをトグル。全表示 / Paprika のみ切替。
  • metric の出所 — paprika-job-submit は hub の hub_started_per_min、それ以外は items_per_min (フォールバック runs_per_min)。

Workloads

ワークロードの一覧 + 作成 + 編集を行うページです (ルート /workloads、10秒更新)。各行に「直近20件の成否」がスパークラインで表示されます。VRAM 列は 宣言値 / 実測値 を並べ、実測が宣言を超える (OOM リスク) と赤、超過宣言なら青です。

作成できる項目の意味・既定値は 設定リファレンス にまとめてあります。

  • タスク投入 — 各行の 📨 で pk と任意の extra (JSON) を投入。同じ pk は INSERT IGNORE
  • 実行履歴 (RunsDrawer) — 履歴アイコンで開き、キュー状態バッジ + 直近50件の run。各行を展開で error / stderr / stdout / output_json / run_id / worker_id、🔄 で同じ pk を再投入。
  • URL deep link/workloads/<slug> で編集 Drawer、/workloads/<slug>/runs で RunsDrawer が開きます。

Workers

いま接続中の worker デーモンのランタイムビューです (ルート /workers、3秒更新)。物理ホストごとにグルーピングされます。

意味
id / hostworker 識別子 (既定 hostname + instance) とホスト名。
stateactive / draining / lost / connecting
担当ワークロード現在処理中 or 割当ての workload。env filter 依存なら「ENV」バッジ、filter に複数 slug が残ると赤い「multi remnant」警告。
processed / errors累計処理数 / 累計エラー数 (>0 で赤)。
last_seen / started_at最後の heartbeat からの経過 / 起動時刻。

各ホストブロックの +CPU N / +GPU N ボタンで、次の pipeline-worker-cpu@N / -gpu@N インスタンスを起動できます (elastic spawn)。

Hosts

worker を動かす物理ホストの登録簿です (ルート /hosts)。/workers のライブ状態とは別に、SSH 接続先とデプロイ先を管理します。

列: enabled / label / host:port (SSH) / SSH ユーザー / 最終デプロイ (OK・NG) / メモ / 編集・削除。ヘッダのボタン:

  • 公開鍵 — 制御プレーンの SSH 公開鍵と、ホストの authorized_keys へ追記する1行コマンド。
  • 追加 — 2タブ。Bootstrapcurl … /bootstrap.sh | sudo bash のワンライナー、Manual は label / host / SSH ユーザー / ポート / メモ を手入力。

ServiceLog

制御プレーン + 各 worker ホストの stdout/stderr をタブで切り替えて表示します (ルート /logs、2秒更新・最大1000行)。

  • Pipeline (制御) タブ — 制御プレーン (pipeline-oss-control) のログ。
  • 各ホストタブ — enabled な各ホストのログ (配信時に該当ホストの stdout/stderr が集約されます)。

ERROR / CRITICAL は赤、WARN は琥珀、DEBUG は灰で色分けされ、例外は展開で traceback 全文を表示。動作中は teal のパルスバッジ、一時停止で自動更新を止められます。

Deploy

制御プレーンから各ホストへコードやプラグインを一括配信する仕組みです (ルート /deploy)。裏で SSH + rsync を使いますが、オペレータは Web UI だけで完結できます。

  • 配信パス — src→dst の rsync パス。setup_command (配信直後1回) / service_command (常駐) / delete_mode (--delete) を設定。
  • 実行skip restart (rsync のみ) / dry run (--dry-run) を選び「Deploy now」。
  • 履歴 — id / 開始 / 所要 / status / hosts / flags と、各 run のログ。
検証は必須: rsync の成否誤報告があり得るため、配信後は各ホストで md5 突合を行い、全ホストが同一になったことを確認してから worker を再起動してください。

Settings (LLM advisor)

supervisor の任意機能「LLM advisor」の設定ページです (ルート /settings)。有効化すると、パイプラインのスナップショットを LLM に送り、優先度 / filter 変更の提案を得られます。

  • LLM advisor タブ — マスター有効化 / apply_mode (ON=実適用 / OFF=dry-run)。接続 (provider: DeepSeek / OpenAI / Anthropic / Custom OpenAI 互換, endpoint, model, マスク API キー, 接続テスト)。挙動 (呼び出し間隔・1サイクル最大 action 数・信頼度しきい値・タイムアウト)。
  • 呼び出し履歴タブ — 直近50件 (id / 時刻 / model / OK・FAIL / action 数 / トークン / 分析要約)。行クリックで分析・提案 action の JSON・生応答・送信プロンプトを表示。
LLM advisor は任意です。無効でも supervisor は需要ドリブンのルールベース制御だけで動作します。

プラグインパネル

プラグインは自前の UI を持てます。plugin.yamlui_panel: true を宣言すると、サイドバーの「プラグイン」見出しの下に専用メニューが追加されます (ルート /plugins/:slug)。実体は同梱の web/panel.html を iframe で埋め込むホストページで、ui_panel_mode (video 既定 / image) が ?mode= として渡されます。パネルは /api/v1/plugins/{slug}/state|blob で制御プレーンに軽量な状態やサムネイルを保存・取得できます。

Pipeline — GUI-first batch fleet · ぱっぷすラボ GitHub · ホーム