Github user skonto commented on a diff in the pull request: https://github.com/apache/spark/pull/22381#discussion_r225339052 --- Diff: core/src/main/scala/org/apache/spark/status/AppStatusListener.scala --- @@ -382,11 +391,38 @@ private[spark] class AppStatusListener( } job.status = event.jobResult match { - case JobSucceeded => JobExecutionStatus.SUCCEEDED - case JobFailed(_) => JobExecutionStatus.FAILED + case JobSucceeded => + appStatusSource.foreach{_.SUCCEEDED_JOBS.inc(1)} + JobExecutionStatus.SUCCEEDED + case JobFailed(_) => + appStatusSource.foreach{_.FAILED_JOBS.inc(1)} + JobExecutionStatus.FAILED } job.completionTime = if (event.time > 0) Some(new Date(event.time)) else None + + for { + source <- appStatusSource + submissionTime <- job.submissionTime + completionTime <- job.completionTime + } yield { + val localSubmissionTime = + LocalDateTime.ofInstant(submissionTime.toInstant, ZoneId.systemDefault) + val localCompletionTime = + LocalDateTime.ofInstant(completionTime.toInstant, ZoneId.systemDefault) + val duration = Duration.between(localSubmissionTime, localCompletionTime) + source.JOB_DURATION.value.set(duration.toMillis) + } + + // update global app status counters + appStatusSource.foreach(_.COMPLETED_STAGES.inc(job.completedStages.size)) --- End diff -- ok will fix.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org