feat: panel Timeline scatter (X=tiempo, Y=DAG, color=status) via ImPlot
- tabs.cpp draw_timeline: scatter ImPlot con eje X tiempo (UseLocalTime), eje Y categorico DAG (SetupAxisTicks), 1 serie por status con color consistente (verde/rojo/amarillo/gris). - Combo ventana: 15m/1h/6h/24h/7d. Default 24h. - Hover tooltip: punto mas cercano en pixel-space -> muestra status, dag, run id, started/finished, trigger, error. - main.cpp: g_runs_all cache. Snapshot inicial via list_runs_http(limit=200) + upserts desde WS deltas. Auto-refresh por g_refresh_pending. - Panel toggle "Timeline" en el menu View. - Helper parse_rfc3339 inline (ignora offset, asume hora local — coherente con ImPlot::UseLocalTime). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -42,4 +42,9 @@ void draw_dag_detail(const std::string& api_url);
|
||||
|
||||
void draw_run_detail(const std::string& api_url);
|
||||
|
||||
// Timeline panel: scatter X=time, Y=DAG name, color por status.
|
||||
// `runs_all` es el cache global de las ultimas N runs (mantenido por main.cpp).
|
||||
void draw_timeline(const std::string& api_url,
|
||||
const std::vector<dag_ui::DagRunRow>& runs_all);
|
||||
|
||||
} // namespace dag_ui_tabs
|
||||
|
||||
Reference in New Issue
Block a user