diff --git a/core/src/main/scala/org/apache/spark/status/LiveEntity.scala b/core/src/main/scala/org/apache/spark/status/LiveEntity.scala index ad3d3bffafe2..dc7c84f9ee33 100644 --- a/core/src/main/scala/org/apache/spark/status/LiveEntity.scala +++ b/core/src/main/scala/org/apache/spark/status/LiveEntity.scala @@ -175,10 +175,15 @@ private class LiveTask( } override protected def doUpdate(): Any = { - val duration = if (info.finished) { - info.duration + var duration: Long = 0 + var executorRunTime: Long = 0 + + if (info.finished) { + duration = info.duration + executorRunTime = metrics.executorRunTime } else { - info.timeRunning(lastUpdateTime.getOrElse(System.currentTimeMillis())) + duration = info.timeRunning(lastUpdateTime.getOrElse(System.currentTimeMillis())) + executorRunTime = duration } new TaskDataWrapper( @@ -198,7 +203,7 @@ private class LiveTask( metrics.executorDeserializeTime, metrics.executorDeserializeCpuTime, - metrics.executorRunTime, + executorRunTime, metrics.executorCpuTime, metrics.resultSize, metrics.jvmGcTime,