aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMark Grover <mark@apache.org>2016-07-27 10:13:15 -0700
committerMarcelo Vanzin <vanzin@cloudera.com>2016-07-27 10:13:15 -0700
commit70f846a313061e4db6174e0dc6c12c8c806ccf78 (patch)
tree9b8d7aa2edbd6af395b3b7b212252126cc1bf0e6 /docs
parent7e8279fde176b08687adf2b410693b35cfbd4b46 (diff)
downloadspark-70f846a313061e4db6174e0dc6c12c8c806ccf78.tar.gz
spark-70f846a313061e4db6174e0dc6c12c8c806ccf78.tar.bz2
spark-70f846a313061e4db6174e0dc6c12c8c806ccf78.zip
[SPARK-5847][CORE] Allow for configuring MetricsSystem's use of app ID to namespace all metrics
## What changes were proposed in this pull request? Adding a new property to SparkConf called spark.metrics.namespace that allows users to set a custom namespace for executor and driver metrics in the metrics systems. By default, the root namespace used for driver or executor metrics is the value of `spark.app.id`. However, often times, users want to be able to track the metrics across apps for driver and executor metrics, which is hard to do with application ID (i.e. `spark.app.id`) since it changes with every invocation of the app. For such use cases, users can set the `spark.metrics.namespace` property to another spark configuration key like `spark.app.name` which is then used to populate the root namespace of the metrics system (with the app name in our example). `spark.metrics.namespace` property can be set to any arbitrary spark property key, whose value would be used to set the root namespace of the metrics system. Non driver and executor metrics are never prefixed with `spark.app.id`, nor does the `spark.metrics.namespace` property have any such affect on such metrics. ## How was this patch tested? Added new unit tests, modified existing unit tests. Author: Mark Grover <mark@apache.org> Closes #14270 from markgrover/spark-5847.
Diffstat (limited to 'docs')
-rw-r--r--docs/monitoring.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/monitoring.md b/docs/monitoring.md
index c8694762ff..6fdf87b4be 100644
--- a/docs/monitoring.md
+++ b/docs/monitoring.md
@@ -346,6 +346,18 @@ This allows users to report Spark metrics to a variety of sinks including HTTP,
files. The metrics system is configured via a configuration file that Spark expects to be present
at `$SPARK_HOME/conf/metrics.properties`. A custom file location can be specified via the
`spark.metrics.conf` [configuration property](configuration.html#spark-properties).
+By default, the root namespace used for driver or executor metrics is
+the value of `spark.app.id`. However, often times, users want to be able to track the metrics
+across apps for driver and executors, which is hard to do with application ID
+(i.e. `spark.app.id`) since it changes with every invocation of the app. For such use cases,
+a custom namespace can be specified for metrics reporting using `spark.metrics.namespace`
+configuration property.
+If, say, users wanted to set the metrics namespace to the name of the application, they
+can set the `spark.metrics.namespace` property to a value like `${spark.app.name}`. This value is
+then expanded appropriately by Spark and is used as the root namespace of the metrics system.
+Non driver and executor metrics are never prefixed with `spark.app.id`, nor does the
+`spark.metrics.namespace` property have any such affect on such metrics.
+
Spark's metrics are decoupled into different
_instances_ corresponding to Spark components. Within each instance, you can configure a
set of sinks to which metrics are reported. The following instances are currently supported: