Files
dag_engine_ui/app.md
T

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)**.