You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by si...@apache.org on 2022/01/11 05:31:42 UTC
[hudi] 06/06: [HUDI-3148] Create pushgateway client based on port (#4497)
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 <an...@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 <an...@navi.com>
Co-authored-by: sivabalan narayanan <n....@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,