This is an automated email from the ASF dual-hosted git repository.
angerszhuuuu pushed a commit to branch branch-0.3
in repository https://gitbox.apache.org/repos/asf/incubator-celeborn.git
The following commit(s) were added to refs/heads/branch-0.3 by this push:
new 14d59b33d [CELEBORN-681][DOC] Add celeborn.metrics.conf to conf entity
14d59b33d is described below
commit 14d59b33de4d17635f3d5553e3789aef44ee7fca
Author: Angerszhuuuu <[email protected]>
AuthorDate: Wed Jun 14 18:06:03 2023 +0800
[CELEBORN-681][DOC] Add celeborn.metrics.conf to conf entity
### What changes were proposed in this pull request?
Add celeborn.metrics.conf to conf entity
### Why are the changes needed?
### Does this PR introduce _any_ user-facing change?
### How was this patch tested?
Closes #1593 from AngersZhuuuu/CELEBORN-681.
Authored-by: Angerszhuuuu <[email protected]>
Signed-off-by: Angerszhuuuu <[email protected]>
(cherry picked from commit 8a0b7d80d682cb838080974d117b86904d24b5ed)
Signed-off-by: Angerszhuuuu <[email protected]>
---
.../src/main/scala/org/apache/celeborn/common/CelebornConf.scala | 9 +++++++++
.../scala/org/apache/celeborn/common/metrics/MetricsConfig.scala | 6 ++----
docs/configuration/metrics.md | 1 +
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git
a/common/src/main/scala/org/apache/celeborn/common/CelebornConf.scala
b/common/src/main/scala/org/apache/celeborn/common/CelebornConf.scala
index a74699681..68ef91df1 100644
--- a/common/src/main/scala/org/apache/celeborn/common/CelebornConf.scala
+++ b/common/src/main/scala/org/apache/celeborn/common/CelebornConf.scala
@@ -624,6 +624,7 @@ class CelebornConf(loadDefaults: Boolean) extends Cloneable
with Logging with Se
// //////////////////////////////////////////////////////
// Metrics System //
// //////////////////////////////////////////////////////
+ def metricsConf: Option[String] = get(METRICS_CONF)
def metricsSystemEnable: Boolean = get(METRICS_ENABLED)
def metricsSampleRate: Double = get(METRICS_SAMPLE_RATE)
def metricsSlidingWindowSize: Int = get(METRICS_SLIDING_WINDOW_SIZE)
@@ -3168,6 +3169,14 @@ object CelebornConf extends Logging {
.stringConf
.createOptional
+ val METRICS_CONF: OptionalConfigEntry[String] =
+ buildConf("celeborn.metrics.conf")
+ .categories("metrics")
+ .doc("Custom metrics configuration file path. Default use
`metrics.properties` in classpath.")
+ .version("0.3.0")
+ .stringConf
+ .createOptional
+
val METRICS_ENABLED: ConfigEntry[Boolean] =
buildConf("celeborn.metrics.enabled")
.categories("metrics")
diff --git
a/common/src/main/scala/org/apache/celeborn/common/metrics/MetricsConfig.scala
b/common/src/main/scala/org/apache/celeborn/common/metrics/MetricsConfig.scala
index ac07f7cb4..79af34e0c 100644
---
a/common/src/main/scala/org/apache/celeborn/common/metrics/MetricsConfig.scala
+++
b/common/src/main/scala/org/apache/celeborn/common/metrics/MetricsConfig.scala
@@ -47,10 +47,8 @@ private class MetricsConfig(conf: CelebornConf) extends
Logging {
// Add default properties in case there's no properties file
setDefaultProperties(properties)
- val configKey = "celeborn.metrics.conf"
- loadPropertiesFromFile(conf.getOption(configKey))
-
- val prefix = s"${configKey}."
+ loadPropertiesFromFile(conf.metricsConf)
+ val prefix = s"${CelebornConf.METRICS_CONF.key}."
// Also look for the properties in provided rss configuration
conf.getAll.foreach {
case (k, v) if k.startsWith(prefix) =>
diff --git a/docs/configuration/metrics.md b/docs/configuration/metrics.md
index bcb12fe53..8a2999af5 100644
--- a/docs/configuration/metrics.md
+++ b/docs/configuration/metrics.md
@@ -24,6 +24,7 @@ license: |
| celeborn.metrics.app.topDiskUsage.windowSize | 24 | Window size about top
disk usage application list. | 0.2.0 |
| celeborn.metrics.capacity | 4096 | The maximum number of metrics which a
source can use to generate output strings. | 0.2.0 |
| celeborn.metrics.collectPerfCritical.enabled | false | It controls whether
to collect metrics which may affect performance. When enable, Celeborn collects
them. | 0.2.0 |
+| celeborn.metrics.conf | <undefined> | Custom metrics configuration
file path. Default use `metrics.properties` in classpath. | 0.3.0 |
| celeborn.metrics.enabled | true | When true, enable metrics system. | 0.2.0
|
| celeborn.metrics.extraLabels | | If default metric labels are not enough,
extra metric labels can be customized. Labels' pattern is:
`<label1_key>=<label1_value>[,<label2_key>=<label2_value>]*`; e.g.
`env=prod,version=1` | 0.3.0 |
| celeborn.metrics.master.prometheus.host | 0.0.0.0 | Master's Prometheus
host. | 0.3.0 |