ankuriitg commented on a change in pull request #23306: [SPARK-26357][Core]
Expose executors' procfs metrics to Metrics system
URL: https://github.com/apache/spark/pull/23306#discussion_r241537922
##########
File path:
core/src/main/scala/org/apache/spark/executor/ProcfsMetricsGetter.scala
##########
@@ -62,7 +62,21 @@ private[spark] class ProcfsMetricsGetter(procfsDir: String
= "/proc/") extends L
SparkEnv.get.conf.get(config.EVENT_LOG_STAGE_EXECUTOR_METRICS)
val shouldLogStageExecutorProcessTreeMetrics =
SparkEnv.get.conf.get(config.EVENT_LOG_PROCESS_TREE_METRICS)
- procDirExists.get && shouldLogStageExecutorProcessTreeMetrics &&
shouldLogStageExecutorMetrics
+ val shouldAddProcessTreeMetricsToMetricsSet =
+ SparkEnv.get.conf.get(config.METRICS_PROCESS_TREE_METRICS)
+ val pickEitherUIOrMetricsSet = shouldLogStageExecutorProcessTreeMetrics ^
+ shouldAddProcessTreeMetricsToMetricsSet
+ val areBothUIMetricsEnabled = shouldLogStageExecutorProcessTreeMetrics &&
+ shouldAddProcessTreeMetricsToMetricsSet
+ if (areBothUIMetricsEnabled) {
+ logWarning("You have enabled " +
+ "both spark.eventLog.logStageExecutorProcessTreeMetrics.enabled" +
+ " and spark.metrics.logStageExecutorProcessTreeMetrics.enabled. This
isn't " +
+ "allowed. As a result Procfs metrics won't be reported to UI or
Metricsset")
+ }
+ (procDirExists.get && shouldLogStageExecutorMetrics &&
pickEitherUIOrMetricsSet) ||
Review comment:
I think if pickEitherUIOrMetricsSet is changed to use || operator, then the
above return statement should suffice.
Regarding, caching of the metrics, I agree with that as well. I will just
recommend to have caching built in
ProcfsMetricsGetter.pTreeInfo.computeAllMetrics(). This method should just
return last cached metrics if they are not stale, otherwise compute new
metrics. This way it can be used by both of MetricSet and Logging.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]