Skip to content
Prev Previous commit
Next Next commit
address comments
  • Loading branch information
LantaoJin committed Feb 19, 2019
commit e4d9acd1cc69d30abcd8ee3dff41a04a42266ddf
Original file line number Diff line number Diff line change
Expand Up @@ -119,16 +119,16 @@ package object config {
.booleanConf
.createWithDefault(true)

private[spark] val ADDITIONAL_YOUNG_GENERATION_GARBAGE_COLLECTORS =
ConfigBuilder("spark.additionalYoungGenerationGarbageCollectors")
private[spark] val EVENT_LOG_ADDITIONAL_YOUNG_GENERATION_GARBAGE_COLLECTORS =
ConfigBuilder("spark.eventLog.additionalYoungGenerationGarbageCollectors")
.doc("Names of additional young generation garbage collector, " +
"usually is the return of GarbageCollectorMXBean.getName, e.g. ParNew.")
.stringConf
.toSequence
.createWithDefault(Nil)

private[spark] val ADDITIONAL_OLD_GENERATION_GARBAGE_COLLECTORS =
ConfigBuilder("spark.additionalOldGenerationGarbageCollectors")
private[spark] val EVENT_LOG_ADDITIONAL_OLD_GENERATION_GARBAGE_COLLECTORS =
ConfigBuilder("spark.eventLog.additionalOldGenerationGarbageCollectors")
.doc("Names of additional old generation garbage collector, " +
"usually is the return of GarbageCollectorMXBean.getName, e.g. ConcurrentMarkSweep.")
.stringConf
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,12 @@ case object GarbageCollectionMetrics extends ExecutorMetricType with Logging {

private lazy val youngGenGarbageCollector: Seq[String] = {
Seq(`copy`, `psScavenge`, `parNew`, `g1Young`) ++ /* additional young gc we added */
SparkEnv.get.conf.get(config.ADDITIONAL_YOUNG_GENERATION_GARBAGE_COLLECTORS)
SparkEnv.get.conf.get(config.EVENT_LOG_ADDITIONAL_YOUNG_GENERATION_GARBAGE_COLLECTORS)
}

private lazy val oldGenGarbageCollector: Seq[String] = {
Seq(`markSweepCompact`, `psMarkSweep`, `cms`, `g1Old`) ++ /* additional old gc we added */
SparkEnv.get.conf.get(config.ADDITIONAL_OLD_GENERATION_GARBAGE_COLLECTORS)
SparkEnv.get.conf.get(config.EVENT_LOG_ADDITIONAL_OLD_GENERATION_GARBAGE_COLLECTORS)
}

override private[spark] def getMetricValues(memoryManager: MemoryManager): Array[Long] = {
Expand All @@ -140,7 +140,9 @@ case object GarbageCollectionMetrics extends ExecutorMetricType with Logging {
gcMetrics(2) = mxBean.getCollectionCount
gcMetrics(3) = mxBean.getCollectionTime
} else {
logDebug(s"${mxBean.getName} is an unsupported garbage collector.")
logDebug(s"${mxBean.getName} is an unsupported garbage collector." +
s"Add it to ${config.EVENT_LOG_ADDITIONAL_YOUNG_GENERATION_GARBAGE_COLLECTORS} " +
s"or ${config.EVENT_LOG_ADDITIONAL_OLD_GENERATION_GARBAGE_COLLECTORS} to enable.")
}
}
}
Expand Down