Skip to content

Commit 9922a8a

Browse files
Add pause label for DAG status
1 parent df8b2d9 commit 9922a8a

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ Labels:
7575
* `dag_id`
7676
* `owner`
7777
* `status`
78+
* `paused`
7879

7980
Value: number of dags in a specific status.
8081

@@ -94,6 +95,7 @@ Labels:
9495
* `dag_id`
9596
* `owner`
9697
* `status`
98+
* `paused`
9799

98100
Value: 0 or 1 depending on wherever the current state of each `dag_id` is `status`.
99101

airflow_exporter/prometheus_exporter.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class DagStatusInfo:
2828
dag_id: str
2929
status: str
3030
cnt: int
31+
paused: str
3132
owner: str
3233

3334
def get_dag_status_info() -> List[DagStatusInfo]:
@@ -43,7 +44,7 @@ def get_dag_status_info() -> List[DagStatusInfo]:
4344
sql_res = (
4445
Session.query( # pylint: disable=no-member
4546
dag_status_query.c.dag_id, dag_status_query.c.state, dag_status_query.c.cnt,
46-
DagModel.owners
47+
DagModel.is_paused, DagModel.owners
4748
)
4849
.join(DagModel, DagModel.dag_id == dag_status_query.c.dag_id)
4950
.join(SerializedDagModel, SerializedDagModel.dag_id == dag_status_query.c.dag_id)
@@ -55,6 +56,7 @@ def get_dag_status_info() -> List[DagStatusInfo]:
5556
dag_id = i.dag_id,
5657
status = i.state,
5758
cnt = i.cnt,
59+
paused = str(i.is_paused).lower(),
5860
owner = i.owners
5961
)
6062
for i in sql_res
@@ -78,7 +80,7 @@ def get_last_dagrun_info() -> List[DagStatusInfo]:
7880
sql_res = (
7981
Session.query(
8082
last_dagrun_query.c.dag_id, last_dagrun_query.c.state, last_dagrun_query.c.row_number,
81-
DagModel.owners
83+
DagModel.is_paused, DagModel.owners
8284
)
8385
.filter(last_dagrun_query.c.row_number == 1)
8486
.join(DagModel, DagModel.dag_id == last_dagrun_query.c.dag_id)
@@ -90,6 +92,7 @@ def get_last_dagrun_info() -> List[DagStatusInfo]:
9092
DagStatusInfo(
9193
dag_id = i.dag_id,
9294
status = i.state,
95+
paused = str(i.is_paused).lower(),
9396
cnt = 1,
9497
owner = i.owners
9598
)
@@ -238,6 +241,7 @@ def collect(self) -> Generator[Metric, None, None]:
238241
'dag_id': dag.dag_id,
239242
'owner': dag.owner,
240243
'status': dag.status,
244+
'paused': dag.paused,
241245
**labels
242246
},
243247
dag.cnt,
@@ -264,6 +268,7 @@ def collect(self) -> Generator[Metric, None, None]:
264268
'dag_id': dag.dag_id,
265269
'owner': dag.owner,
266270
'status': status,
271+
'paused': dag.paused,
267272
**labels
268273
},
269274
int(dag.status == status)
@@ -345,4 +350,4 @@ class AirflowPrometheusPlugins(AirflowPlugin):
345350
flask_blueprints = [] # type: ignore
346351
menu_links = [] # type: ignore
347352
appbuilder_views = [RBACmetricsView]
348-
appbuilder_menu_items = [] # type: ignore
353+
appbuilder_menu_items = [] # type: ignore

0 commit comments

Comments
 (0)