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 / host | worker 識別子 (既定 hostname + instance) とホスト名。 |
| state | active / 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タブ。Bootstrap は
curl … /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 のログ。
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・生応答・送信プロンプトを表示。
プラグインパネル
プラグインは自前の UI を持てます。plugin.yaml に ui_panel: true を宣言すると、サイドバーの「プラグイン」見出しの下に専用メニューが追加されます (ルート /plugins/:slug)。実体は同梱の web/panel.html を iframe で埋め込むホストページで、ui_panel_mode (video 既定 / image) が ?mode= として渡されます。パネルは /api/v1/plugins/{slug}/state|blob で制御プレーンに軽量な状態やサムネイルを保存・取得できます。