You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by bb...@apache.org on 2021/12/16 15:33:28 UTC
[airflow] branch main updated: Add hour and minute to time format on x-axis of all charts using nvd3.lineChart (#20002)
This is an automated email from the ASF dual-hosted git repository.
bbovenzi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 6a77e84 Add hour and minute to time format on x-axis of all charts using nvd3.lineChart (#20002)
6a77e84 is described below
commit 6a77e849be3a505bf2636e8224862d77a4719621
Author: Son Hyoungwoo <hw...@gmail.com>
AuthorDate: Fri Dec 17 00:32:37 2021 +0900
Add hour and minute to time format on x-axis of all charts using nvd3.lineChart (#20002)
* Add hour and minute to time format on x-axis in Landing Times
* Make labels of x-axis more readable on line charts
* Add month and date on x-axis
Co-authored-by: Brent Bovenzi <br...@gmail.com>
Co-authored-by: Son Hyoungwoo <hw...@navercorp.com>
Co-authored-by: Brent Bovenzi <br...@gmail.com>
---
airflow/www/views.py | 31 ++++++++++++++++++++++++++-----
1 file changed, 26 insertions(+), 5 deletions(-)
diff --git a/airflow/www/views.py b/airflow/www/views.py
index 763fbcc..8144c9d 100644
--- a/airflow/www/views.py
+++ b/airflow/www/views.py
@@ -137,6 +137,11 @@ from airflow.www.widgets import AirflowModelListWidget
PAGE_SIZE = conf.getint('webserver', 'page_size')
FILTER_TAGS_COOKIE = 'tags_filter'
FILTER_STATUS_COOKIE = 'dag_status_filter'
+LINECHART_X_AXIS_TICKFORMAT = (
+ "function (d, i) { let xLabel;"
+ "if (i === undefined) {xLabel = d3.time.format('%H:%M, %d %b %Y')(new Date(parseInt(d)));"
+ "} else {xLabel = d3.time.format('%H:%M, %d %b')(new Date(parseInt(d)));} return xLabel;}"
+)
def truncate_task_duration(task_duration):
@@ -2562,10 +2567,20 @@ class Airflow(AirflowBaseView):
dag = dag.partial_subset(task_ids_or_regex=root, include_upstream=True, include_downstream=False)
chart_height = wwwutils.get_chart_height(dag)
chart = nvd3.lineChart(
- name="lineChart", x_is_date=True, height=chart_height, chart_attr=self.line_chart_attr
+ name="lineChart",
+ x_custom_format=True,
+ x_axis_date=True,
+ x_axis_format=LINECHART_X_AXIS_TICKFORMAT,
+ height=chart_height,
+ chart_attr=self.line_chart_attr,
)
cum_chart = nvd3.lineChart(
- name="cumLineChart", x_is_date=True, height=chart_height, chart_attr=self.line_chart_attr
+ name="cumLineChart",
+ x_custom_format=True,
+ x_axis_date=True,
+ x_axis_format=LINECHART_X_AXIS_TICKFORMAT,
+ height=chart_height,
+ chart_attr=self.line_chart_attr,
)
y_points = defaultdict(list)
@@ -2691,8 +2706,9 @@ class Airflow(AirflowBaseView):
chart_height = wwwutils.get_chart_height(dag)
chart = nvd3.lineChart(
name="lineChart",
- x_is_date=True,
- y_axis_format='d',
+ x_custom_format=True,
+ x_axis_date=True,
+ x_axis_format=LINECHART_X_AXIS_TICKFORMAT,
height=chart_height,
chart_attr=self.line_chart_attr,
)
@@ -2768,7 +2784,12 @@ class Airflow(AirflowBaseView):
chart_height = wwwutils.get_chart_height(dag)
chart = nvd3.lineChart(
- name="lineChart", x_is_date=True, height=chart_height, chart_attr=self.line_chart_attr
+ name="lineChart",
+ x_custom_format=True,
+ x_axis_date=True,
+ x_axis_format=LINECHART_X_AXIS_TICKFORMAT,
+ height=chart_height,
+ chart_attr=self.line_chart_attr,
)
y_points = {}
x_points = {}