4a786911cb
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
80 lines
2.7 KiB
Markdown
80 lines
2.7 KiB
Markdown
---
|
|
name: dag_engine_ui
|
|
lang: cpp
|
|
domain: tools
|
|
description: "Frontend ImGui para dag_engine. Lista, lanza e inspecciona DAGs con live updates via WS."
|
|
tags: [imgui, dashboard, dag, scheduler, http, websocket]
|
|
uses_functions:
|
|
- data_table_cpp_viz
|
|
- viz_render_cpp_viz
|
|
- compute_stage_cpp_core
|
|
- compute_pipeline_cpp_core
|
|
- compute_column_stats_cpp_core
|
|
- auto_detect_type_cpp_core
|
|
- tql_emit_cpp_core
|
|
- tql_apply_cpp_core
|
|
- lua_engine_cpp_core
|
|
- join_tables_cpp_core
|
|
- tql_to_sql_cpp_core
|
|
- llm_anthropic_cpp_core
|
|
- empty_state_cpp_core
|
|
uses_types: []
|
|
uses_modules: [data_table_cpp]
|
|
framework: "imgui"
|
|
entry_point: "main.cpp"
|
|
dir_path: "apps/dag_engine_ui"
|
|
repo_url: "https://gitea.organic-machine.com/dataforge/dag_engine_ui"
|
|
icon:
|
|
phosphor: "tree-structure"
|
|
accent: "#7c3aed"
|
|
e2e_checks:
|
|
- id: build_cmake
|
|
cmd: "cmake --build cpp/build -j --target dag_engine_ui"
|
|
timeout_s: 300
|
|
severity: critical
|
|
- id: binary_exists
|
|
cmd: "test -x cpp/build/linux/apps/dag_engine_ui/dag_engine_ui || test -x cpp/build/apps/dag_engine_ui/dag_engine_ui"
|
|
timeout_s: 5
|
|
severity: critical
|
|
- id: self_test
|
|
cmd: "(cpp/build/linux/apps/dag_engine_ui/dag_engine_ui --self-test 2>&1 || cpp/build/apps/dag_engine_ui/dag_engine_ui --self-test 2>&1) | head -20"
|
|
timeout_s: 10
|
|
expect_stdout_contains: "self-test"
|
|
severity: warning
|
|
- id: cpp_apps_conformance
|
|
cmd: "./fn doctor cpp-apps 2>&1 | grep -A1 dag_engine_ui || echo 'no issues'"
|
|
expect_stdout_contains: "no issues"
|
|
severity: critical
|
|
---
|
|
|
|
# dag_engine_ui
|
|
|
|
Frontend ImGui para dag_engine. Lista, lanza e inspecciona DAGs con live updates via WS.
|
|
|
|
## Build
|
|
|
|
```bash
|
|
cd cpp && cmake --build build --target dag_engine_ui -j
|
|
```
|
|
|
|
## Run
|
|
|
|
```bash
|
|
./cpp/build/dag_engine_ui
|
|
```
|
|
|
|
## Paneles
|
|
|
|
| Panel | Que muestra |
|
|
|---|---|
|
|
| DAGs | Lista de DAGs (data_table_cpp_viz). Columna `Recent` = ultimas 5 runs como puntos (CellRenderer::Dots). Double-click -> abre DAG Detail. |
|
|
| DAG Detail | Header (nombre, desc, schedule) + boton `Run Now` (POST /api/dags/{name}/run) + tabla recent runs. Double-click run -> Run Detail. |
|
|
| Run Detail | Header (id, status, started/finished) + tabla steps (status/exit/duration) + CollapsingHeader por step con stdout/stderr. |
|
|
| Timeline | Scatter ImPlot. X=tiempo, Y=DAG, color=status. Ventana 15m/1h/6h/24h/7d. Hover -> tooltip con run id + trigger. |
|
|
| Live (WS) | Estado conexion + msgs count + watermarks runs/steps + lista live runs. |
|
|
| Main (diag) | Diagnostico HTTP: boton Fetch + dump raw de g_dags. |
|
|
|
|
## Backend
|
|
|
|
Apunta a `http://127.0.0.1:8090` (dag_engine.service via systemd user unit). Para usuario / formato de DAG / troubleshooting: **[apps/dag_engine/README.md](../../apps/dag_engine/README.md)**.
|