Skip to content

Commit

Permalink
[SPARK-23820][CORE] Enable use of long form of callsite in logs
Browse files Browse the repository at this point in the history
This adds an option to event logging to include the long form of the callsite instead of the short form.

Author: Michael Mior <mmior@uwaterloo.ca>

Closes #21433 from michaelmior/long-callsite.
  • Loading branch information
michaelmior authored and srowen committed Jul 5, 2018
1 parent 32cfd3e commit e58dadb
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
Expand Up @@ -72,6 +72,9 @@ package object config {
private[spark] val EVENT_LOG_OVERWRITE =
ConfigBuilder("spark.eventLog.overwrite").booleanConf.createWithDefault(false)

private[spark] val EVENT_LOG_CALLSITE_FORM =
ConfigBuilder("spark.eventLog.callsite").stringConf.createWithDefault("short")

private[spark] val EXECUTOR_CLASS_PATH =
ConfigBuilder(SparkLauncher.EXECUTOR_EXTRA_CLASSPATH).stringConf.createOptional

Expand Down
10 changes: 9 additions & 1 deletion core/src/main/scala/org/apache/spark/storage/RDDInfo.scala
Expand Up @@ -17,7 +17,9 @@

package org.apache.spark.storage

import org.apache.spark.SparkEnv
import org.apache.spark.annotation.DeveloperApi
import org.apache.spark.internal.config._
import org.apache.spark.rdd.{RDD, RDDOperationScope}
import org.apache.spark.util.Utils

Expand Down Expand Up @@ -53,10 +55,16 @@ class RDDInfo(
}

private[spark] object RDDInfo {
private val callsiteForm = SparkEnv.get.conf.get(EVENT_LOG_CALLSITE_FORM)

def fromRdd(rdd: RDD[_]): RDDInfo = {
val rddName = Option(rdd.name).getOrElse(Utils.getFormattedClassName(rdd))
val parentIds = rdd.dependencies.map(_.rdd.id)
val callSite = callsiteForm match {
case "short" => rdd.creationSite.shortForm
case "long" => rdd.creationSite.longForm
}
new RDDInfo(rdd.id, rddName, rdd.partitions.length,
rdd.getStorageLevel, parentIds, rdd.creationSite.shortForm, rdd.scope)
rdd.getStorageLevel, parentIds, callSite, rdd.scope)
}
}

0 comments on commit e58dadb

Please sign in to comment.