[HUDI-2974] Make the prefix for metrics name configurable (#4274)
Co-authored-by: Rajesh Mahindra <rmahindra@Rajeshs-MacBook-Pro.local>
This commit is contained in:
@@ -1628,6 +1628,10 @@ public class HoodieWriteConfig extends HoodieConfig {
|
|||||||
return getBoolean(HoodieMetricsPrometheusConfig.PUSHGATEWAY_RANDOM_JOBNAME_SUFFIX);
|
return getBoolean(HoodieMetricsPrometheusConfig.PUSHGATEWAY_RANDOM_JOBNAME_SUFFIX);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getMetricReporterMetricsNamePrefix() {
|
||||||
|
return getStringOrDefault(HoodieMetricsConfig.METRICS_REPORTER_PREFIX);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* memory configs.
|
* memory configs.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ import org.apache.hudi.common.config.ConfigClassProperty;
|
|||||||
import org.apache.hudi.common.config.ConfigGroups;
|
import org.apache.hudi.common.config.ConfigGroups;
|
||||||
import org.apache.hudi.common.config.ConfigProperty;
|
import org.apache.hudi.common.config.ConfigProperty;
|
||||||
import org.apache.hudi.common.config.HoodieConfig;
|
import org.apache.hudi.common.config.HoodieConfig;
|
||||||
|
import org.apache.hudi.common.table.HoodieTableConfig;
|
||||||
|
import org.apache.hudi.common.util.Option;
|
||||||
import org.apache.hudi.config.HoodieMetricsCloudWatchConfig;
|
import org.apache.hudi.config.HoodieMetricsCloudWatchConfig;
|
||||||
import org.apache.hudi.metrics.MetricsReporterType;
|
import org.apache.hudi.metrics.MetricsReporterType;
|
||||||
|
|
||||||
@@ -63,6 +65,18 @@ public class HoodieMetricsConfig extends HoodieConfig {
|
|||||||
.sinceVersion("0.6.0")
|
.sinceVersion("0.6.0")
|
||||||
.withDocumentation("");
|
.withDocumentation("");
|
||||||
|
|
||||||
|
public static final ConfigProperty<String> METRICS_REPORTER_PREFIX = ConfigProperty
|
||||||
|
.key(METRIC_PREFIX + ".reporter.metricsname.prefix")
|
||||||
|
.defaultValue("")
|
||||||
|
.sinceVersion("0.11.0")
|
||||||
|
.withInferFunction(cfg -> {
|
||||||
|
if (cfg.contains(HoodieTableConfig.NAME)) {
|
||||||
|
return Option.of(cfg.getString(HoodieTableConfig.NAME));
|
||||||
|
}
|
||||||
|
return Option.empty();
|
||||||
|
})
|
||||||
|
.withDocumentation("The prefix given to the metrics names.");
|
||||||
|
|
||||||
// Enable metrics collection from executors
|
// Enable metrics collection from executors
|
||||||
public static final ConfigProperty<String> EXECUTOR_METRICS_ENABLE = ConfigProperty
|
public static final ConfigProperty<String> EXECUTOR_METRICS_ENABLE = ConfigProperty
|
||||||
.key(METRIC_PREFIX + ".executor.enable")
|
.key(METRIC_PREFIX + ".executor.enable")
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ public class HoodieMetrics {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String getMetricsName(String action, String metric) {
|
String getMetricsName(String action, String metric) {
|
||||||
return config == null ? null : String.format("%s.%s.%s", tableName, action, metric);
|
return config == null ? null : String.format("%s.%s.%s", config.getMetricReporterMetricsNamePrefix(), action, metric);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class Metrics {
|
|||||||
|
|
||||||
private Metrics(HoodieWriteConfig metricConfig) {
|
private Metrics(HoodieWriteConfig metricConfig) {
|
||||||
registry = new MetricRegistry();
|
registry = new MetricRegistry();
|
||||||
commonMetricPrefix = metricConfig.getTableName();
|
commonMetricPrefix = metricConfig.getMetricReporterMetricsNamePrefix();
|
||||||
reporter = MetricsReporterFactory.createReporter(metricConfig, registry);
|
reporter = MetricsReporterFactory.createReporter(metricConfig, registry);
|
||||||
if (reporter == null) {
|
if (reporter == null) {
|
||||||
throw new RuntimeException("Cannot initialize Reporter.");
|
throw new RuntimeException("Cannot initialize Reporter.");
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public class HoodieDeltaStreamerMetrics implements Serializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String getMetricsName(String action, String metric) {
|
String getMetricsName(String action, String metric) {
|
||||||
return config == null ? null : String.format("%s.%s.%s", tableName, action, metric);
|
return config == null ? null : String.format("%s.%s.%s", config.getMetricReporterMetricsNamePrefix(), action, metric);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateDeltaStreamerMetrics(long durationInNs) {
|
public void updateDeltaStreamerMetrics(long durationInNs) {
|
||||||
|
|||||||
Reference in New Issue
Block a user