rionmonster commented on a change in pull request #15175:
URL: https://github.com/apache/flink/pull/15175#discussion_r593831274



##########
File path: 
flink-metrics/flink-metrics-prometheus/src/main/java/org/apache/flink/metrics/prometheus/PrometheusReporterFactory.java
##########
@@ -17,18 +17,58 @@
 
 package org.apache.flink.metrics.prometheus;
 
+import io.prometheus.client.exporter.HTTPServer;
+
+import org.apache.flink.metrics.MetricConfig;
 import org.apache.flink.metrics.reporter.InterceptInstantiationViaReflection;
 import org.apache.flink.metrics.reporter.MetricReporterFactory;
+import org.apache.flink.runtime.metrics.MetricRegistryConfiguration;
+import org.apache.flink.util.NetUtils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.annotation.Nullable;
 
+import java.io.IOException;
+import java.util.Iterator;
 import java.util.Properties;
 
 /** {@link MetricReporterFactory} for {@link PrometheusReporter}. */
 @InterceptInstantiationViaReflection(
         reporterClassName = 
"org.apache.flink.metrics.prometheus.PrometheusReporter")
 public class PrometheusReporterFactory implements MetricReporterFactory {
 
+    private static final Logger LOG = 
LoggerFactory.getLogger(PrometheusReporterFactory.class);
+
+    static final String ARG_PORT = "port";
+    private static final String DEFAULT_PORT = "9249";
+
     @Override
     public PrometheusReporter createMetricReporter(Properties properties) {
-        return new PrometheusReporter();
+        MetricConfig metricConfig = (MetricConfig)properties;
+        String portsConfig = metricConfig.getString(ARG_PORT, DEFAULT_PORT);
+        Iterator<Integer> ports = NetUtils.getPortRangeFromString(portsConfig);
+        Integer port = null;
+        HTTPServer httpServer = null;
+        while (ports.hasNext()) {
+            port = ports.next();
+            try {
+                // internally accesses CollectorRegistry.defaultRegistry
+                httpServer = new HTTPServer(port);

Review comment:
       Done!




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to