Skip to content

[v3-3-test] UI: Make duration charts readable at a glance (#70142)#70197

Merged
bbovenzi merged 1 commit into
v3-3-testfrom
backport-ae756a9-v3-3-test
Jul 21, 2026
Merged

[v3-3-test] UI: Make duration charts readable at a glance (#70142)#70197
bbovenzi merged 1 commit into
v3-3-testfrom
backport-ae756a9-v3-3-test

Conversation

@github-actions

Copy link
Copy Markdown
Contributor
  • UI: Make duration charts readable at a glance

The Airflow 3 duration chart dropped several things the Airflow 2 version
did well, and what is left is hard to read at the size it is given.

Durations on the value axis are the main cost: HH:mm:ss has to be decoded
tick by tick before the magnitude is apparent, and Chart.js picks decimal
steps, so a busy Dag lands on ticks like 26m 40s. The two reference lines
report the mean, which one stuck run drags well above where runs actually
sit, and both labels are pinned to the same edge so they overlap each other
and the most recent bars. Nothing names the two series. Finally the card is
pinned to 350px on a page with room to spare, which is what makes the bars
too small to compare in the first place.

The bars were also stacked on the index axis only, so queued time was drawn
behind run time rather than underneath it, and was effectively invisible.

  • Add newsfragment for the duration chart changes

  • UI: Pin the duration chart height

Letting the card flex horizontally handed its height to Chart.js' default 2:1
aspect ratio, which the old fixed 350px width had been capping as a side
effect. On a 1400px row the chart came out 496px tall, and on a 2560px monitor
it would have passed 1000px and swallowed the page it sits on.

  • UI: Apply duration chart review feedback

The two overview pages had drifted apart for no reason: one card flexed, the
other sat in a single-column grid with only a max width, so the same chart
answered to two different sets of rules. They now share one Box, which also
gives the Task overview the cap the Dag overview needed to stop the chart
spanning an ultrawide monitor.

The reference line reads "Total:" rather than "Median total:", and the
newsfragment is dropped as not warranted for this change.
(cherry picked from commit ae756a9)

Co-authored-by: Eddie Roman 44783562+eddiesr93@users.noreply.github.com

* UI: Make duration charts readable at a glance

The Airflow 3 duration chart dropped several things the Airflow 2 version
did well, and what is left is hard to read at the size it is given.

Durations on the value axis are the main cost: HH:mm:ss has to be decoded
tick by tick before the magnitude is apparent, and Chart.js picks decimal
steps, so a busy Dag lands on ticks like 26m 40s. The two reference lines
report the mean, which one stuck run drags well above where runs actually
sit, and both labels are pinned to the same edge so they overlap each other
and the most recent bars. Nothing names the two series. Finally the card is
pinned to 350px on a page with room to spare, which is what makes the bars
too small to compare in the first place.

The bars were also stacked on the index axis only, so queued time was drawn
behind run time rather than underneath it, and was effectively invisible.

* Add newsfragment for the duration chart changes

* UI: Pin the duration chart height

Letting the card flex horizontally handed its height to Chart.js' default 2:1
aspect ratio, which the old fixed 350px width had been capping as a side
effect. On a 1400px row the chart came out 496px tall, and on a 2560px monitor
it would have passed 1000px and swallowed the page it sits on.

* UI: Apply duration chart review feedback

The two overview pages had drifted apart for no reason: one card flexed, the
other sat in a single-column grid with only a max width, so the same chart
answered to two different sets of rules. They now share one Box, which also
gives the Task overview the cap the Dag overview needed to stop the chart
spanning an ultrawide monitor.

The reference line reads "Total:" rather than "Median total:", and the
newsfragment is dropped as not warranted for this change.
(cherry picked from commit ae756a9)

Co-authored-by: Eddie Roman <44783562+eddiesr93@users.noreply.github.com>
@bbovenzi
bbovenzi merged commit af1e5b8 into v3-3-test Jul 21, 2026
109 of 118 checks passed
@bbovenzi
bbovenzi deleted the backport-ae756a9-v3-3-test branch July 21, 2026 19:36
@github-actions github-actions Bot added this to the Airflow 3.3.1 milestone Jul 21, 2026
@github-actions

Copy link
Copy Markdown
Contributor Author

Hi maintainer, this PR was merged without a milestone set.
We've automatically set the milestone to Airflow 3.3.1 based on: merged to version branch
If this milestone is not correct, please update it to the appropriate milestone.

This comment was generated by Milestone Tag Assistant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:translations area:UI Related to UI/UX. For Frontend Developers. translation:default

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants