Skip to content

Commit 715a19d

Browse files
srowenAndrew Or
authored andcommitted
[SPARK-12637][CORE] Print stage info of finished stages properly
Improve printing of StageInfo in onStageCompleted See also #10585 Author: Sean Owen <[email protected]> Closes #10922 from srowen/SPARK-12637.
1 parent be7a2fc commit 715a19d

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

core/src/main/scala/org/apache/spark/scheduler/SparkListener.scala

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ class StatsReportListener extends SparkListener with Logging {
270270

271271
override def onStageCompleted(stageCompleted: SparkListenerStageCompleted) {
272272
implicit val sc = stageCompleted
273-
this.logInfo("Finished stage: " + stageCompleted.stageInfo)
273+
this.logInfo(s"Finished stage: ${getStatusDetail(stageCompleted.stageInfo)}")
274274
showMillisDistribution("task runtime:", (info, _) => Some(info.duration), taskInfoMetrics)
275275

276276
// Shuffle write
@@ -297,6 +297,17 @@ class StatsReportListener extends SparkListener with Logging {
297297
taskInfoMetrics.clear()
298298
}
299299

300+
private def getStatusDetail(info: StageInfo): String = {
301+
val failureReason = info.failureReason.map("(" + _ + ")").getOrElse("")
302+
val timeTaken = info.submissionTime.map(
303+
x => info.completionTime.getOrElse(System.currentTimeMillis()) - x
304+
).getOrElse("-")
305+
306+
s"Stage(${info.stageId}, ${info.attemptId}); Name: '${info.name}'; " +
307+
s"Status: ${info.getStatusString}$failureReason; numTasks: ${info.numTasks}; " +
308+
s"Took: $timeTaken msec"
309+
}
310+
300311
}
301312

302313
private[spark] object StatsReportListener extends Logging {

0 commit comments

Comments
 (0)