class FlightRecorderStageMetrics extends StageInfoRecorderListener
FlightRecorderStageMetrics - Use Spark Listeners defined in stagemetrics.scala to record task metrics data aggregated at the Stage level, without changing the application code. The resulting data can be saved to a file and/or printed to stdout.
Use: by adding the following configuration to spark-submit (or Spark Session) configuration --conf spark.extraListeners=ch.cern.sparkmeasure.FlightRecorderStageMetrics
Additional configuration parameters: --conf spark.sparkmeasure.outputFormat=<format>, valid values: java,json,json_to_hadoop default "json" note: json and java serialization formats, write to the driver local filesystem json_to_hadoop, writes to JSON serialized metrics to HDFS or to an Hadoop compliant filesystem, such as s3a
--conf spark.sparkmeasure.outputFilename=<output file>, default: "/tmp/stageMetrics_flightRecorder" --conf spark.sparkmeasure.printToStdout=<true|false>, default false. Set to true to print JSON serialized metrics to stdout.
- Alphabetic
- By Inheritance
- FlightRecorderStageMetrics
- StageInfoRecorderListener
- SparkListener
- SparkListenerInterface
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new FlightRecorderStageMetrics(conf: SparkConf)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
StageIdtoJobGroup: HashMap[Int, String]
- Definition Classes
- StageInfoRecorderListener
-
val
StageIdtoJobId: HashMap[Int, Int]
- Definition Classes
- StageInfoRecorderListener
-
val
accumulablesMetricsData: ListBuffer[StageAccumulablesInfo]
- Definition Classes
- StageInfoRecorderListener
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- lazy val logger: Logger
- val metricsFilename: String
- val metricsFormat: String
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
onApplicationEnd(applicationEnd: SparkListenerApplicationEnd): Unit
when the application stops, serialize the content of stageMetricsData into a file and/or print to stdout
when the application stops, serialize the content of stageMetricsData into a file and/or print to stdout
- Definition Classes
- FlightRecorderStageMetrics → SparkListener → SparkListenerInterface
-
def
onApplicationStart(applicationStart: SparkListenerApplicationStart): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onBlockManagerAdded(blockManagerAdded: SparkListenerBlockManagerAdded): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onBlockManagerRemoved(blockManagerRemoved: SparkListenerBlockManagerRemoved): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onBlockUpdated(blockUpdated: SparkListenerBlockUpdated): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onEnvironmentUpdate(environmentUpdate: SparkListenerEnvironmentUpdate): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onExecutorAdded(executorAdded: SparkListenerExecutorAdded): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onExecutorBlacklisted(executorBlacklisted: SparkListenerExecutorBlacklisted): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onExecutorBlacklistedForStage(executorBlacklistedForStage: SparkListenerExecutorBlacklistedForStage): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onExecutorMetricsUpdate(executorMetricsUpdate: SparkListenerExecutorMetricsUpdate): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onExecutorRemoved(executorRemoved: SparkListenerExecutorRemoved): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onExecutorUnblacklisted(executorUnblacklisted: SparkListenerExecutorUnblacklisted): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onJobEnd(jobEnd: SparkListenerJobEnd): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onJobStart(jobStart: SparkListenerJobStart): Unit
- Definition Classes
- StageInfoRecorderListener → SparkListener → SparkListenerInterface
-
def
onNodeBlacklisted(nodeBlacklisted: SparkListenerNodeBlacklisted): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onNodeBlacklistedForStage(nodeBlacklistedForStage: SparkListenerNodeBlacklistedForStage): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onNodeUnblacklisted(nodeUnblacklisted: SparkListenerNodeUnblacklisted): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onOtherEvent(event: SparkListenerEvent): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onSpeculativeTaskSubmitted(speculativeTask: SparkListenerSpeculativeTaskSubmitted): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onStageCompleted(stageCompleted: SparkListenerStageCompleted): Unit
This methods fires at the end of the stage and collects metrics flattened into the stageMetricsData ListBuffer Note all times are in ms, cpu time and shuffle write time are originally in nanosec, thus in the code are divided by 1e6
This methods fires at the end of the stage and collects metrics flattened into the stageMetricsData ListBuffer Note all times are in ms, cpu time and shuffle write time are originally in nanosec, thus in the code are divided by 1e6
- Definition Classes
- StageInfoRecorderListener → SparkListener → SparkListenerInterface
-
def
onStageSubmitted(stageSubmitted: SparkListenerStageSubmitted): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onTaskEnd(taskEnd: SparkListenerTaskEnd): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onTaskGettingResult(taskGettingResult: SparkListenerTaskGettingResult): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onTaskStart(taskStart: SparkListenerTaskStart): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
-
def
onUnpersistRDD(unpersistRDD: SparkListenerUnpersistRDD): Unit
- Definition Classes
- SparkListener → SparkListenerInterface
- val printToStdout: Boolean
-
val
stageMetricsData: ListBuffer[StageVals]
- Definition Classes
- StageInfoRecorderListener
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()