Skip to content

Commit 2eed3e4

Browse files
authored
Fix task metrics NullPointerException (#77)
1 parent c7feea8 commit 2eed3e4

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/main/scala/ch/cern/sparkmeasure/KafkaSink.scala

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ class KafkaSinkExtended(conf: SparkConf) extends KafkaSink(conf) {
298298
)
299299
report(point1)
300300

301-
val point2 = Map[String, Any](
301+
val taskMetricsHeader = Map[String, Any](
302302
"name" -> "task_metrics",
303303
"appId" -> appId,
304304
// task info
@@ -316,6 +316,9 @@ class KafkaSinkExtended(conf: SparkConf) extends KafkaSink(conf) {
316316
"successful" -> taskInfo.successful,
317317
"host" -> taskInfo.host,
318318
"taskLocality" -> Utils.encodeTaskLocality(taskInfo.taskLocality),
319+
"epochMillis" -> epochMillis
320+
)
321+
val taskMetricsBody = if (taskmetrics != null) Map[String, Any](
319322
// task metrics
320323
"executorRunTime" -> taskmetrics.executorRunTime,
321324
"executorCpuTime" -> taskmetrics.executorCpuTime,
@@ -342,8 +345,8 @@ class KafkaSinkExtended(conf: SparkConf) extends KafkaSink(conf) {
342345
"shuffleBytesWritten" -> taskmetrics.shuffleWriteMetrics.bytesWritten,
343346
"shuffleRecordsWritten" -> taskmetrics.shuffleWriteMetrics.recordsWritten,
344347
"shuffleWriteTime" -> taskmetrics.shuffleWriteMetrics.writeTime,
345-
"epochMillis" -> epochMillis
346-
)
348+
) else Map()
349+
val point2 = taskMetricsHeader ++ taskMetricsBody
347350
report(point2)
348351
}
349352
}

0 commit comments

Comments
 (0)