yee*_*379 1 statistics report directed-acyclic-graphs airflow
我正在尝试从 Airflow 导出 dag 统计信息。statsd 输出不是很有用,所以我决定基本上运行一个 dag 来查询 SQL 并将其导出为 influxdb。
所以很容易创建一个 DAG 来查询 postgres 气流数据库。但是,我对架构有点困惑。我会想:
select run_id, start_date, end_date from dag_run where dag_id= 'blah';
Run Code Online (Sandbox Code Playgroud)
会这样做,但 endend_date
似乎永远不会被填充。
我真正想要的是 dag 运行开始的总时间(第一个作业开始的时间,而不是作业第一次进入running
状态的时间)和 dag 进入success
状态的时间。
joe*_*oeb 10
尝试敲task_instance
桌子:
SELECT execution_date
, MIN(start_date) AS start
, MAX(end_date) AS end
, MAX(end_date) - MIN(start_date) AS duration
FROM task_instance
WHERE dag_id = 'blah'
AND state = 'success'
GROUP BY execution_date
ORDER BY execution_date DESC
Run Code Online (Sandbox Code Playgroud)