Github user squito commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22612#discussion_r234344821
  
    --- Diff: 
core/src/main/scala/org/apache/spark/metrics/ExecutorMetricType.scala ---
    @@ -19,25 +19,43 @@ package org.apache.spark.metrics
     import java.lang.management.{BufferPoolMXBean, ManagementFactory}
     import javax.management.ObjectName
     
    +import scala.collection.mutable
    +
    +import org.apache.spark.executor.ProcfsBasedSystems
     import org.apache.spark.memory.MemoryManager
     
     /**
      * Executor metric types for executor-level metrics stored in 
ExecutorMetrics.
      */
     sealed trait ExecutorMetricType {
    -  private[spark] def getMetricValue(memoryManager: MemoryManager): Long
    -  private[spark] val name = 
getClass().getName().stripSuffix("$").split("""\.""").last
    +  private[spark] def getMetricValues(memoryManager: MemoryManager): 
Array[Long] = {
    +    new Array[Long](0)
    +  }
    +  private[spark] def names: Seq[String] = Seq()
    +}
    +
    +sealed trait SingleValueExecutorMetricType extends ExecutorMetricType {
    +  override private[spark] def names = Seq(getClass().getName().
    +    stripSuffix("$").split("""\.""").last)
    +
    +  override private[spark] def getMetricValues(memoryManager: 
MemoryManager): Array[Long] = {
    +    val metrics = new Array[Long](1)
    +    metrics(0) = getMetricValue(memoryManager)
    +    metrics
    +  }
    +
    +  private[spark] def getMetricValue(memoryManager: MemoryManager): Long = 0
    --- End diff --
    
    no default implementation here either


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to