-
Notifications
You must be signed in to change notification settings - Fork 28k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SPARK-31711][CORE] Register the executor source with the metrics system when running in local mode. #28528
[SPARK-31711][CORE] Register the executor source with the metrics system when running in local mode. #28528
Changes from all commits
d1a527a
ae1b206
1cf7b52
c8ce5a3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1153,6 +1153,11 @@ This is the component with the largest amount of instrumented metrics | |
- namespace=JVMCPU | ||
- jvmCpuTime | ||
|
||
- namespace=executor | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this looks the same as the ExecutorMetrics but I think they are actually different in that this doesn't give you the JVM metrics - correct? Perhaps we need to update the one below. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree that the naming could be improved, in particular metrics under namespace=executor and namespace=ExecutorMetrics are similar in scope, however the implementation goes via quite different paths [[ExecutorSource]] vs. [[ExecutoMetricsSource]]. Merging the two could be the subject for future refactoring. Just to clarify: metrics in the namespace=ExecutorMetrics are already available in local mode. The goal of this PR is to make matrics in the namespace="executor" also available in local mode. |
||
- **note:** These metrics are available in the driver in local mode only. | ||
- A full list of available metrics in this | ||
namespace can be found in the corresponding entry for the Executor component instance. | ||
|
||
- namespace=ExecutorMetrics | ||
- **note:** these metrics are conditional to a configuration parameter: | ||
`spark.metrics.executorMetricsSource.enabled` (default is true) | ||
|
@@ -1165,8 +1170,7 @@ This is the component with the largest amount of instrumented metrics | |
custom plugins into Spark. | ||
|
||
### Component instance = Executor | ||
These metrics are exposed by Spark executors. Note, currently they are not available | ||
when running in local mode. | ||
These metrics are exposed by Spark executors. | ||
|
||
- namespace=executor (metrics are of type counter or gauge) | ||
- bytesRead.count | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Looks like this one is never been cleaned. It would be great to avoid using a global
executorSourceLocalModeOnly
to save a state of a specific executor. Can we move this to SparkEnv so that a state of one test won't be leaked to other tests?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @zsxwing , I'll have a look at it.