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

Reply via email to