Skip to content

Commit

Permalink
Fix task duration cumulative chart
Browse files Browse the repository at this point in the history
Previously the chart could go down, which should not happen for a cumulative chart.  We fix that here.

Also, we add task fail durations to the non-cumulative chart for consistency.
  • Loading branch information
dstandish committed Sep 27, 2022
1 parent 8698ae4 commit 0a8a483
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions airflow/www/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2931,10 +2931,11 @@ def duration(self, dag_id, session=None):
if task_instance.duration:
date_time = wwwutils.epoch(task_instance.execution_date)
x_points[task_instance.task_id].append(date_time)
y_points[task_instance.task_id].append(float(task_instance.duration))
fails_dict_key = (task_instance.dag_id, task_instance.task_id, task_instance.run_id)
fails_total = fails_totals[fails_dict_key]
cumulative_y[task_instance.task_id].append(float(task_instance.duration + fails_total))
y_points[task_instance.task_id].append(float(task_instance.duration + fails_total))

cumulative_y = {k: list(itertools.accumulate(v)) for k, v in y_points.items()}

# determine the most relevant time unit for the set of task instance
# durations for the DAG
Expand Down

0 comments on commit 0a8a483

Please sign in to comment.