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 9e2531fa4d Calculate duration in UI (#23259)
9e2531fa4d is described below

commit 9e2531fa4d9890f002d184121e018e3face5586b
Author: Brent Bovenzi <[email protected]>
AuthorDate: Tue Apr 26 11:42:28 2022 -0400

    Calculate duration in UI (#23259)
    
    * Calculate duration in UI
    
    * calculate mapped instance duration too
---
 airflow/www/static/js/tree/InstanceTooltip.jsx                       | 4 ++--
 airflow/www/static/js/tree/details/content/dagRun/index.jsx          | 5 ++---
 airflow/www/static/js/tree/details/content/taskInstance/Details.jsx  | 3 +--
 .../static/js/tree/details/content/taskInstance/MappedInstances.jsx  | 4 ++--
 airflow/www/utils.py                                                 | 1 -
 5 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/airflow/www/static/js/tree/InstanceTooltip.jsx 
b/airflow/www/static/js/tree/InstanceTooltip.jsx
index 453a8dc138..49d24124db 100644
--- a/airflow/www/static/js/tree/InstanceTooltip.jsx
+++ b/airflow/www/static/js/tree/InstanceTooltip.jsx
@@ -27,7 +27,7 @@ import Time from './Time';
 const InstanceTooltip = ({
   group,
   instance: {
-    startDate, endDate, duration, state, runId, mappedStates,
+    startDate, endDate, state, runId, mappedStates,
   },
 }) => {
   const isGroup = !!group.children;
@@ -91,7 +91,7 @@ const InstanceTooltip = ({
       <Text>
         Duration:
         {' '}
-        {formatDuration(duration || getDuration(startDate, endDate))}
+        {formatDuration(getDuration(startDate, endDate))}
       </Text>
     </Box>
   );
diff --git a/airflow/www/static/js/tree/details/content/dagRun/index.jsx 
b/airflow/www/static/js/tree/details/content/dagRun/index.jsx
index 98e3cdcca6..363bdeddfd 100644
--- a/airflow/www/static/js/tree/details/content/dagRun/index.jsx
+++ b/airflow/www/static/js/tree/details/content/dagRun/index.jsx
@@ -29,7 +29,7 @@ import { MdPlayArrow, MdOutlineAccountTree } from 
'react-icons/md';
 
 import { SimpleStatus } from '../../../StatusBox';
 import { ClipboardText } from '../../../Clipboard';
-import { formatDuration } from '../../../../datetime_utils';
+import { formatDuration, getDuration } from '../../../../datetime_utils';
 import Time from '../../../Time';
 import MarkFailedRun from './MarkFailedRun';
 import MarkSuccessRun from './MarkSuccessRun';
@@ -50,7 +50,6 @@ const DagRun = ({ runId }) => {
     executionDate,
     state,
     runType,
-    duration,
     lastSchedulingDecision,
     dataIntervalStart,
     dataIntervalEnd,
@@ -103,7 +102,7 @@ const DagRun = ({ runId }) => {
       <Text>
         Duration:
         {' '}
-        {formatDuration(duration)}
+        {formatDuration(getDuration(startDate, endDate))}
       </Text>
       {lastSchedulingDecision && (
       <Text>
diff --git 
a/airflow/www/static/js/tree/details/content/taskInstance/Details.jsx 
b/airflow/www/static/js/tree/details/content/taskInstance/Details.jsx
index 6d341e4c3c..317e22c250 100644
--- a/airflow/www/static/js/tree/details/content/taskInstance/Details.jsx
+++ b/airflow/www/static/js/tree/details/content/taskInstance/Details.jsx
@@ -37,7 +37,6 @@ const Details = ({ instance, group, operator }) => {
   const {
     taskId,
     runId,
-    duration,
     startDate,
     endDate,
     state,
@@ -134,7 +133,7 @@ const Details = ({ instance, group, operator }) => {
           {isOverall}
           Duration:
           {' '}
-          {formatDuration(duration || getDuration(startDate, endDate))}
+          {formatDuration(getDuration(startDate, endDate))}
         </Text>
         {startDate && (
         <Text>
diff --git 
a/airflow/www/static/js/tree/details/content/taskInstance/MappedInstances.jsx 
b/airflow/www/static/js/tree/details/content/taskInstance/MappedInstances.jsx
index 77c0713ab3..c2cef5d008 100644
--- 
a/airflow/www/static/js/tree/details/content/taskInstance/MappedInstances.jsx
+++ 
b/airflow/www/static/js/tree/details/content/taskInstance/MappedInstances.jsx
@@ -31,7 +31,7 @@ import {
 } from 'react-icons/md';
 
 import { getMetaValue } from '../../../../utils';
-import { formatDateTime, formatDuration } from '../../../../datetime_utils';
+import { formatDateTime, formatDuration, getDuration } from 
'../../../../datetime_utils';
 import { useMappedInstances } from '../../../api';
 import { SimpleStatus } from '../../../StatusBox';
 import Table from '../../../Table';
@@ -83,7 +83,7 @@ const MappedInstances = ({
             {mi.state || 'no status'}
           </Flex>
         ),
-        duration: mi.duration && formatDuration(mi.duration),
+        duration: mi.duration && formatDuration(getDuration(mi.startDate, 
mi.endDate)),
         startDate: mi.startDate && formatDateTime(mi.startDate),
         endDate: mi.endDate && formatDateTime(mi.endDate),
         links: (
diff --git a/airflow/www/utils.py b/airflow/www/utils.py
index 0c452dea38..05ad2a8ab1 100644
--- a/airflow/www/utils.py
+++ b/airflow/www/utils.py
@@ -146,7 +146,6 @@ def encode_ti(
         'run_id': task_instance.run_id,
         'map_index': task_instance.map_index,
         'state': task_instance.state,
-        'duration': task_instance.duration,
         'start_date': datetime_to_string(task_instance.start_date),
         'end_date': datetime_to_string(task_instance.end_date),
         'try_number': try_count,

Reply via email to