This is an automated email from the ASF dual-hosted git repository. sivabalan pushed a commit to branch release-0.10.1-rc1 in repository https://gitbox.apache.org/repos/asf/hudi.git
commit 358b43e3b18ea49a09ab83726a55e217c5fdbc06 Author: t0il3ts0ap <anoop_narang2...@yahoo.com> AuthorDate: Tue Jan 11 04:39:47 2022 +0530 [HUDI-3148] Create pushgateway client based on port (#4497) Co-authored-by: anoop narang <anoop.nar...@navi.com> Co-authored-by: sivabalan narayanan <n.siv...@gmail.com> --- .../prometheus/PushGatewayMetricsReporter.java | 3 ++- .../hudi/metrics/prometheus/PushGatewayReporter.java | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayMetricsReporter.java b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayMetricsReporter.java index 17c4d7b..fa4c947 100644 --- a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayMetricsReporter.java +++ b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayMetricsReporter.java @@ -50,7 +50,8 @@ public class PushGatewayMetricsReporter extends MetricsReporter { TimeUnit.SECONDS, TimeUnit.SECONDS, getJobName(), - serverHost + ":" + serverPort, + serverHost, + serverPort, deleteShutdown); } diff --git a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayReporter.java b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayReporter.java index 3b19882..5f82b66 100644 --- a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayReporter.java +++ b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayReporter.java @@ -29,6 +29,8 @@ import com.codahale.metrics.ScheduledReporter; import io.prometheus.client.CollectorRegistry; import io.prometheus.client.dropwizard.DropwizardExports; import io.prometheus.client.exporter.PushGateway; +import java.net.MalformedURLException; +import java.net.URL; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; @@ -51,17 +53,30 @@ public class PushGatewayReporter extends ScheduledReporter { TimeUnit rateUnit, TimeUnit durationUnit, String jobName, - String address, + String serverHost, + int serverPort, boolean deleteShutdown) { super(registry, "hudi-push-gateway-reporter", filter, rateUnit, durationUnit); this.jobName = jobName; this.deleteShutdown = deleteShutdown; collectorRegistry = new CollectorRegistry(); metricExports = new DropwizardExports(registry); - pushGateway = new PushGateway(address); + pushGateway = createPushGatewayClient(serverHost, serverPort); metricExports.register(collectorRegistry); } + private PushGateway createPushGatewayClient(String serverHost, int serverPort) { + if (serverPort == 443) { + try { + return new PushGateway(new URL("https://" + serverHost + ":" + serverPort)); + } catch (MalformedURLException e) { + e.printStackTrace(); + throw new IllegalArgumentException("Malformed pushgateway host: " + serverHost); + } + } + return new PushGateway(serverHost + ":" + serverPort); + } + @Override public void report(SortedMap<String, Gauge> gauges, SortedMap<String, Counter> counters,